我正在尝试从servlet文件访问MS SQL Server 2005。我正在使用JDBC 4.0驱动程序。
我已经将JAR文件sqljdbc.jar
和sqljdbc4.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");
答案 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。这是链接:
它包含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();
}
}
}