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 接受空字符串

sql-server - SQL Server 索引成本

java - 将 SET 语句与普通语句组合

java - Java MySQL 连接错误

c# - 如何在 C# 中从 SQL Server 数据库中检索数据?

Java 等效于 ASP.net 中的代码隐藏?

web-services - 设计用于流量压缩的移动 Web 服务器和客户端

url - payara glassfish web xml过滤url解析

java - 如何监视特定对象(如 Clob\Blob)的 Oracle 临时空间

sql-server - 为什么 Azure 在时间点还原期间需要源 SQL 实例的写入权限?