使用JDBC连接到SQL Server 2012的问题

时间:2017-08-31 17:48:36

标签: java sql-server jdbc

我尝试使用JDBC连接到SQL Server 2012数据库。我的连接代码是:

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");      
Connection conn = DriverManager.getConnection("jdbc:sqlserver://<server_name>:1433", "username", "password");

getConnection()引发了以下异常:

The server version is not supported. The target server must be SQL Server 2000 or later.
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(Unknown Source)

我已经从微软下载了最新的JDBC jar(我实际上已经尝试了大约6个不同版本的sqljdbc#.jar文件)。

还有什么可能导致这个问题?

1 个答案:

答案 0 :(得分:1)

在尝试驱动程序的多个不同版本时,例如,为了进行故障排除,请注意不要在构建路径(CLASSPATH)上为驱动程序的(不同版本)留下多个.jar文件,因为生成的行为可能会造成混淆。

此外,这样的代码可能会解决这个问题:

try {
    java.sql.Driver d = (java.sql.Driver) Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
    System.out.printf("%d.%d", d.getMajorVersion(), d.getMinorVersion());
} catch (InstantiationException e1) {
    e1.printStackTrace();
} catch (IllegalAccessException e1) {
    e1.printStackTrace();
} catch (ClassNotFoundException e1) {
    e1.printStackTrace();
}

如果您看到相同的值(例如"6.1"),那么您可能实际上并未加载不同版本的驱动程序。