classNotFoundException при загрузке драйвера JDBC - PullRequest
0 голосов
/ 10 декабря 2011

Я новичок в Java и разрабатываю приложение Java EE в среде IDE Netbeans 6.9.1.Я должен соединить свое Java-приложение с SQL Server 2005.

Для этого я скачал файл sqljdbc.jar и поместил его в C:\Program Files (x86)\Microsoft SQL Server\JDBC Drver\lib в моей системе и установил его classpath в командной строке следующим образом

set classpath=.;C:\Program Files (x86)\Microsoft SQL Server\JDBC Drver\lib\sqljdbc.jar

и установили путь к классам в IDE, щелкнув правой кнопкой мыши по основному проекту и выбрав его свойство, выбрав библиотеки.Затем во вкладку компиляции добавлено sqljdbc.jar, но когда я выполняю этот код

import java.sql.*;
/**
 *
 * @author abc
 */
public class DBConnection
{
public Connection dbConnect(String db_connect_string)
        {
                try
                {

                        Class.forName(
                          "com.microsoft.jdbc.sqlserver.SQLServerDriver");

                        Connection conn =
                          DriverManager.getConnection(db_connect_string);

                        System.out.println("connected");
                        return conn;

                }
                catch (Exception e)
                {
                        System.out.println(e);
                    e.printStackTrace();
                        return null;
                }
        }
}

, это дает мне ошибку ClassNotFound в этой строке Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");

Ответы [ 3 ]

6 голосов
/ 11 декабря 2011

Вам необходимо проверить документацию к драйверу JDBC, поставляемую вместе с версией вашего SQL-сервера. В старом SQL Server 2000 имя класса драйвера JDBC выглядит так:

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");

Однако, начиная с SQL Server 2005 , Microsoft изменила имя класса драйвера JDBC:

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

Исправьте это соответствующим образом.

Обратите внимание, что переменная окружения CLASSPATH игнорируется Netbeans и всеми другими приличными Java-программами. Забудьте об этом и даже не пытайтесь установить его, пока не поймете, почему он существует и для чего его нужно использовать.

0 голосов
/ 07 августа 2014

Если вы используете Maven, вы можете попробовать добавить следующее в pom.xml:

<dependency> 
<groupId>com.microsoft.sqlserver</groupId> 
<artifactId>sqljdbc4</artifactId> 
<version>4.0</version> 
</dependency> 
0 голосов
/ 10 декабря 2011

Можете ли вы попробовать:

set classpath=.;"C:\Program Files (x86)\Microsoft SQL Server\JDBC Drver\lib\sqljdbc.jar"

Если это не так, попробуйте заменить папки с пробелами в именах на короткие имена.Чтобы получить короткие имена, попробуйте

dir /-n
...