我正在尝试使用提供的连接字符串
连接到远程 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.jar
和 sqljdbc4.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 运行时环境 (JRE) 版本 1.8。使用sqljdbc4.jar类库,它提供对JDBC 4.0的支持。
我在这里做错了什么?
最佳答案
不要将这两个 jar 添加到您的类路径中,因为它们都包含 com.microsoft.sqlserver.jdbc.SQLServerDriver
类,并且在您的情况下,程序会从 sqljdbc.jar 加载该类
。从类路径中删除 sqljdbc.jar
并仅添加 sqljdbc4.jar
,以便您的程序始终加载正确的驱动程序版本。
关于Java 连接到远程 MS SQL 服务器数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38765031/