2016-08-04 2 views
0

제공된 connection string을 사용하여 원격 MS SQL 서버의 데이터베이스에 연결하려고합니다. 다음과 같이 연결 문자열은 다음과 같습니다Java 원격 MS SQL 서버 데이터베이스에 연결

data source=qsss.gar.de\SQL2012,3000;initial catalog=City;persist security info=True;user id=usr;password=usr##2009; 

는 내가 적합한 드라이버가 있어야 이해, 그래서 microsoft.com/download/en/details.aspx?id=21599 에서 SQL 서버 드라이버를 다운로드, 내 프로젝트의 빌드 경로에 추가했습니다. 그것들은 sqljdbc.jarsqljdbc4.jar입니다.

연결이 설정되었는지 확인하기 위해이 테스트 코드를 사용하고 있습니다. JRE (Java Runtime Environment) 버전 1.8이 드라이버를 지원하지 않습니다 :

public static void main(String[] args) throws Exception { 

    Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance(); 

    Connection connection = DriverManager.getConnection(
      "qsss.gar.de\SQL2012,3000;initial catalog=City;persist security info=True;user id=usr;password=usr##2009;"); 


    System.out.println("Connected!"); 
} 

이렇게, 오류가 발생합니다. JDBC 4.0을 지원하는 sqljdbc4.jar 클래스 라이브러리를 사용하십시오.

내가 뭘 잘못하고 있니?

답변

2

둘 다 항아리를 모두 com.microsoft.sqlserver.jdbc.SQLServerDriver 클래스가 포함되어 있기 때문에 추가하지 마십시오. 상황에 따라 sqljdbc.jar에서 프로그램을로드합니다. 클래스 경로에서 sqljdbc.jar을 제거하고 sqljdbc4.jar 만 추가하면 프로그램에서 항상 올바른 드라이버 버전을로드합니다.

관련 문제