【发布时间】:2014-01-09 13:06:20
【问题描述】:
我正在尝试构建一个简单的 jdbc sql 示例。这是1节课。我引用了两个 jdbc 驱动程序 jar,它的运行时是 JavaSE-1.6。它连接到我已经使用此代码设置的数据库...
// Load the JDBC driver
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
// Create a connection to the database
connection = DriverManager
.getConnection("jdbc:sqlserver://localhost:1433;database=AboardTestDB;integratedSecurity=true");
System.out.println("Connected DB successfully");
// STEP 4: Execute a query
// writes the tables in local and not on GANESHN1\SQLSERVER2008
System.out.println("Creating table in given database...");
Statement stmt = connection.createStatement();
问题是它以前工作过。它工作得很好。但是我的一个同事遇到了麻烦。所以我删除了一个罐子,得到了和他一样的错误。但是当我把它放回去时,它给了我这个错误信息(再次)
2013 年 12 月 20 日上午 9:50:53 com.microsoft.sqlserver.jdbc.SQLServerConnection 严重:此驱动程序不支持 Java 运行时环境 (JRE) 版本 1.7。使用为 JDBC 4.0 提供支持的 sqljdbc4.jar 类库。 线程“主”java.lang.UnsupportedOperationException 中的异常:此驱动程序不支持 Java 运行时环境 (JRE) 版本 1.7。使用为 JDBC 4.0 提供支持的 sqljdbc4.jar 类库。 在 com.microsoft.sqlserver.jdbc.SQLServerConnection.(SQLServerConnection.java:304) 在 com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1011) 在 java.sql.DriverManager.getConnection(未知来源) 在 java.sql.DriverManager.getConnection(未知来源) 在 sqldriver.doConnection(sqldriver.java:23) 在 sqldriver.main(sqldriver.java:59)
其他一切都保持不变。我尝试重新启动,卸载/重新安装,创建一个新项目,尝试不同的 JRE 什么都没有。
我在这里缺少什么吗?还有什么我可以尝试的吗?
【问题讨论】:
-
您是否将 JDK 合规级别设置为 1.6(右键单击项目 -> 属性 -> Java 编译器)?
-
检查项目运行配置的 JRE 选项卡。也许它在那里设置了“错误的”JDK/JRE。 (但您确实应该使用最新版本的 JDBC 驱动程序。)
-
哦,1.6 还行。我已经尝试过更改执行环境(这是我第一次让它工作的方式)仍然没有
-
这与您两天前提出的问题how do I use different version of java 有何不同,正如我当时所说:您的类路径中应该只有
sqljdbc4.jar,即使在 Java 6 上也是如此!