sql-server - HTTP 状态 500 - 此驱动程序不支持 Java 运行时环境 (JRE) 版本 1.7

标签 sql-server servlets jdbc

我正在尝试从 servlet 文件访问 MS SQL Server 2005。我正在使用 JDBC 4.0 驱动程序。 我已将 JAR 文件 sqljdbc.jarsqljdbc4.jar 文件添加到我的 Tomcat /lib 文件夹中。

但是在运行代码时我收到错误

HTTP Status 500 - Java Runtime Environment (JRE) version 1.7 is not supported by this driver. Use the sqljdbc4.jar class library, which provides support for JDBC 4.0.

这是怎么造成的,如何解决?

我的代码是:

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection conn = conn =   DriverManager.getConnection("jdbc:sqlserver://localhost;databaseName=school;user=sa;password=123");
PrintWriter pwOut = res.getWriter();
pwOut.println("Connected");
Statement st = conn.createStatement();
String searchCriteria = req.getParameter("txtSearch");
ResultSet rs = st.executeQuery("select * from student");
res.setContentType("text/html");

最佳答案

错误信息非常清楚。 Tomcat 使用了错误的驱动程序。

您声明已将 sqljdbc.jar sqljdbc4.jar 复制到 Tomcat lib 文件夹中。这很可能就是你的问题的原因。

只需需要sqljdbc4.jar,否则 Tomcat 会选择错误的。

尝试从 Tomcat lib 文件夹中删除 sqljdbc.jar

关于sql-server - HTTP 状态 500 - 此驱动程序不支持 Java 运行时环境 (JRE) 版本 1.7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14109868/

相关文章:

sql - 根据 SQL Server 中的条件交叉加入组

java - 从 URL 调用 servlet

java - 如何解决AutoloadedDriver40的NoClassDefFoundError?

sql - insert into.. select 语句是事务性的吗?

sql-server - 无法从另一个 SQL Server 连接到 SQL Server 命名实例

SQL 选择列(如果不为空)

mysql - Jmeter连接异常

java - servlet 应用程序不工作,虽然 tomcat 工作正常

java - Servlet url 参数

java - 创建表时出错