Java连接到远程MS SQL服务器数据库

问题描述:

我试图使用提供的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 Server驱动程序,并将它们添加到我的项目的构建路径。这些是sqljdbc.jarsqljdbc4.jar

我只是使用这个测试代码来查看连接是否建立。

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!"); 
} 

这样做,我得到一个错误:的Java Runtime Environment(JRE)1.8版本不受此驱动程序支持。使用sqljdbc4.jar类库,它提供对JDBC 4.0的支持。

我在这里做错了什么?

不要将两个jar都添加到类路径中,因为它们都包含com.microsoft.sqlserver.jdbc.SQLServerDriver -class,并且在您的情况下程序会从sqljdbc.jar加载一个。从你的类路径中删除sqljdbc.jar,只添加sqljdbc4.jar,这样你的程序将永远加载正确的驱动程序版本。