主要说明:
-
使用SQL Server 2005
-
使用JDK 1.8
-
JDK 1.8不支持JDBC-ODBC Bridge ANYMORE
-
我的库中有Microsoft SQLJDBC 4.0和6.2
我试图用Java连接到远程SQL Server很长一段时间,但仍然无法做到 . 我希望使用我创建的DSN进行连接 . 新驱动程序JDK 1.8使用需要我在下面创建的连接URL . 下面代码中的所有内容都是正确的 . 但我仍然得到错误:
严重:此驱动程序不支持Java运行时环境(JRE)版本1.8 . 使用sqljdbc4.jar类库,它提供对JDBC 4.0的支持 . java.lang.UnsupportedOperationException:此驱动程序不支持Java Runtime Environment(JRE)1.8版 . 使用sqljdbc4.jar类库,它提供对JDBC 4.0的支持 .
这是我的代码:
String connectionUrl = "jdbc:sqlserver://InterfaceDSN" +
"databaseName=DB_Local;Trusted_Connection=True;integratedSecurity=true";
// Declare the JDBC objects.
Connection con = null;
Statement stmt = null;
ResultSet rs = null;
try
{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
con = DriverManager.getConnection(connectionUrl);
String SQL = "SELECT TOP 10 * FROM Person.Contact";
stmt = con.createStatement();
rs = stmt.executeQuery(SQL);
while (rs.next()) {
System.out.println(rs.getString(4) + " " + rs.getString(6));
}
}catch (Exception e)
{
e.printStackTrace();
}
总结:知道我拥有什么以及我需要什么,是否有另一种连接数据库的方法,考虑到我使用JDK 1.8和SQL Server 2005,我的选项用完了 .
2 回答
发生了什么事
正如消息所说:
这是因为JDBC4.0有很多变化,这意味着你需要使用更新版本的驱动程序 . 您无法在新版本上运行旧驱动程序 .
如何修复它
使用6.2或版本6.2.2.jre8应该解决问题 .
额外信息
在JDBC 4.0(Java 1.6)之后,您不应该需要以下代码
您可以在其中阅读here,您可以在其中找到JDBC驱动程序的要求 .
因此,您必须至少将JDBC驱动程序更新到v 4.2 . 这很清楚 .