2012-05-12 4 views
0

Я пытаюсь подключить Microsoft SQL Server 2005 в JAVA с помощью JDBC, но получаю следующее исключение. Мой проект не работает в Eclipse, он говорит: «Запрошенный ресурс не найден» (Выполнено все конфигурации сервера, а также добавление и удаление проекта с сервера), и когда я запускаю его с консоли, он показывает мне «Класс, не найденный исключение». Я поставил JAR, используя путь сборки, а также помещаем в WEB-INF/lib. но не получение соединения, это мой код.MSSQL server 2005-JDBC-соединение

import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.ResultSet; 
import java.sql.Statement; 

import com.microsoft.sqlserver.jdbc.SQLServerDriver; 
/** 
* @author www.javaworkspace.com 
* 
*/ 
public class SMSdao { 
    public static void main(String[] args) { 
     try { 

     Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 
      Connection connection = DriverManager 
        .getConnection( 
          "jdbc:sqlserver://192.128.10.17:1433;databaseName=TEK_R;selectMethod=cursor", 
          "sa", "[email protected]"); 

      System.out.println("DATABASE NAME IS:" 
        + connection.getMetaData().getDatabaseProductName()); 
      Statement statement = connection.createStatement(); 
      ResultSet resultSet = statement 
        .executeQuery("SELECT * FROM dbo.SMS_OUT"); 
      while (resultSet.next()) { 
       System.out.println("Message:" 
         + resultSet.getString("MessageIn")); 
      } 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 
} 

И стек trcae является:

java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver 
     at java.net.URLClassLoader$1.run(URLClassLoader.java:366) 
     at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:423) 
     at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:356) 
     at java.lang.Class.forName0(Native Method) 
     at java.lang.Class.forName(Class.java:186) 
     at SMSdao.main(SMSdao.java:13) 

испробовали все и сделали все, что все, что я нашел в интернете. Я использую jdk 7 и tomcat 6 на окнах 7.

ответ

2

Вам необходимо загрузить SQLServerDriver JDBC с Microsoft. Класс.forName ищет указанное имя класса и не может найти его в вашем пути к классам.

http://msdn.microsoft.com/en-us/sqlserver/aa937724

Просто поместите банку в вашем проекте (общий путь к классам Lib, на котором сервер лучше).

+0

Привет, Даниэль. Я сделал все это, что бы вы ни говорили, но теперь он отображает ошибку времени компиляции для того же самого, что и «пакет не найден com.microsoft.sqlserver.jdbc». –

+0

Является ли текущее время сервера Tomcat в сборке вашего проекта? –

+0

Ya, время выполнения сервера Tomcat присутствует в пути построения проекта. –

0

Я также хотел бы предложить, используя jTDS вместо: http://jtds.sourceforge.net/

драйверы Исторически Microsoft, JDBC не удалось в полной мере реализовать важные и полезные части спецификации JDBC. jTDS должен быть более полно представлен и доступен с открытым исходным кодом.

Смежные вопросы