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

标签 java sql-server jdbc

我正在尝试使用提供的连接字符串连接到远程 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 运行时环境 (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/

相关文章:

SQL ROW_NUMBER 与 INNER JOIN

java - 如何在 Google App Engine 中使用 CachedRowSet?

java - 列数与第 1 行 java 的值数不匹配

java - Spring jdbcTemplate数据访问和java算法

java - 使用 StringTokenizer 获取单词

java - 网页抓取 - 从 Twitch.tv 获取信息

java - 如何解决java中循环条件checkmarx问题的未检查输入

java - Java String 之间的按位运算符

SQL 和 Postgres 面试概念

sql-server - 数据库恢复后 EF 不会迁移