HTTP-статус 500 - Java Runtime Environment (JRE) версии 1.7 не поддерживается этим драйвером
Я пытаюсь получить доступ к MS SQL Server 2005 из файла сервлета. Я использую драйвер JDBC 4.0.
Я уже добавил файлы JAR sqljdbc.jar
и sqljdbc4.jar
в папку Tomcat /lib
.
Но при запуске кода я получаю сообщение об ошибке
HTTP-статус 500 - Java Runtime Environment (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");
Ответы
Ответ 1
Сообщение об ошибке довольно ясно. Tomcat использует неправильный драйвер.
Вы заявляете, что скопировали sqljdbc.jar
и sqljdbc4.jar
в папку Tomcat lib. Скорее всего, это причина вашей проблемы.
Вам только нужен sqljdbc4.jar
, в противном случае Tomcat выбирает неправильный.
Попробуйте удалить sqljdbc.jar
из папки Tomcat lib
Ответ 2
Вот мой код для подключения java к серверу SQL Server 2012
Вам нужен только sqljdbc4.jar, который доступен на официальном веб-сайте Microsoft. Вот ссылка:
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();
}
}
}