11

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

但是在运行代码时出现错误

HTTP 状态 500 - 此驱动程序不支持 Java 运行时环境 (JRE) 版本 1.7。使用为 JDBC 4.0 提供支持的 sqljdbc4.jar 类库。

这是如何引起的,我该如何解决?

我的代码是:

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");
4

2 回答 2

24

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

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

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

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

于 2013-01-01T11:52:17.723 回答
1

这是我将 java 连接到 Microsoft sql Server 2012 的代码

您只需要可在 Microsoft 官方网站上使用的 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();
        }
    }

}
于 2014-07-09T10:36:13.670 回答