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

时间:2013-01-01 11:03:00

标签: sql-server servlets jdbc

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

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

  

HTTP状态500 - 此驱动程序不支持Java运行时环境(JRE)版本1.7。使用sqljdbc4.jar类库,它提供对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");

2 个答案:

答案 0 :(得分:24)

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

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

需要sqljdbc4.jar,否则Tomcat会选错。

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

答案 1 :(得分:1)

以下是将java连接到Microsoft sql Server 2012的代码

你只需要在官方微软网站上使用sqljdbc4.jar。这是链接:

http://download.microsoft.com/download/0/2/A/02AAE597-3865-456C-AE7F-613F99F850A8/sqljdbc_4.0.2206.100_enu.exe

它包含2个jar文件,我正在尝试使用 sqljdbc4.jar 。这是我用来连接的代码:

package com.Sql.ConnectDB;

import java.sql.*;
public class DbClass {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        try{
            **String url="jdbc:sqlserver://localhost;databaseName=Student";**//important
            String user="username";
            String pass="password";
            **Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");**//important
            Connection con=DriverManager.getConnection(url,user,pass);
            System.out.println("Conneccted Successfully");
        }catch(Exception e){
            e.printStackTrace();
        }
    }

}