主要提示:
我正在尝试用Java连接远程SQL Server很长一段时间但仍未能实现。我希望使用我创建的DSN进行连接。新驱动程序JDK 1.8使用需要我在下面创建的连接URL。下面代码中的所有内容都是正确的。但我仍然得到错误:
严重:此驱动程序不支持Java Runtime Environment(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,我的选项用完了。
答案 0 :(得分:1)
正如消息所说:
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
这是因为JDBC4.0有很多变化,这意味着你需要使用更新版本的驱动程序。您无法在新版本上运行旧驱动程序。
仅使用6.2或版本6.2.2.jre8可以解决问题。
在JDBC 4.0(Java 1.6 +)
之后,您不需要以下代码def add(x, y):
return x + y
答案 1 :(得分:0)
从用于SQL Server的Microsoft JDBC驱动程序4.2开始,Sun Java SE开发工具包(JDK)8.0和Java
您可以在其中阅读here,您可以在其中找到JDBC驱动程序的要求。
因此,您必须至少将JDBC驱动程序更新到v 4.2。这很清楚。