2013-08-24 2 views
4

Это мое первое приложение Java, и я полностью неопытен Java и NetBeans.Получение ClassNotFoundException в коде: "Class.forName (" com.microsoft.sqlserver.jdbc.SqlServerDriver ");"

Я пытался подключиться к sql и получить несколько записей за 2 дня. Проблема в том, что около jdbc водитель, позвольте мне объяснить. Я скачал sqljdbc драйвер, а затем последовали следующие шаги:

правой кнопкой мыши Проект-> Выберите Properties-> На левой стороне выберите Libraries-> На вкладке Compile - нажмите кнопку Добавить Jar/папку и выберите sqljdbc4.jar файл. Тогда это должно быть хорошо, не так ли?

Тогда я написал этот код, но я не могу избавиться от этого исключения:

Exception in thread "main" 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:424) 
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
at java.lang.Class.forName0(Native Method) 
at java.lang.Class.forName(Class.java:190) 
at javaapplication1.JavaApplication1.main(JavaApplication1.java:30) 

Это код

public static void main(String[] args) throws ClassNotFoundException, SQLException { 
    String url = "jdbc:sqlserver://.\\SQLEXPRESS;databaseName=Northwind; Integrated Security = SSPI "; 

    Connection con = null; 
    Statement stmt = null; 

    ResultSet rs = null; 
    try { 
     Class.forName("com.microsoft.sqlserver.jdbc.SqlServerDriver"); 

     con = DriverManager.getConnection(url); 
     String sql = "Select Top 3 from * person.Contact"; 
     stmt = con.createStatement(); 
     rs = stmt.executeQuery(sql); 
     while (rs.next()) { 
      System.out.println(rs.getString(1)); 
     } 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
} 

ответ

8

Согласно this page, класс называется SQLServerDriver и не SqlServerDriver. Дело важно!

Итак, попробуйте:

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

Обратите внимание, что с новыми версиями JDBC, это не нужно, чтобы загрузить класс драйвера явно с Class.forName(...). На странице, с которой я связан, явным образом объясняется, что вам не нужно это делать. Таким образом, вы можете просто удалить всю строку, а затем она должна работать.

+0

Я работаю над этой проблемой в течение нескольких дней начала Mybe десять нити в diffrent форумов и отформатирован моя машина 3 раза больше, чем я могу сказать спасибо тааака muchh Jesper – user2708377

+0

У меня такая же проблема. но после удаления этой строки у меня есть другая ошибка, подходящий драйвер не найден. ты знаешь причину? – ConductedClever

+0

@ConductedClever Почему вы удалили строку, если это приложение не работает? Ошибка «отсутствие подходящего драйвера» также может означать, что ваш JDBC-URL неверен. (JDBC-драйвер JAR должен также находиться в вашем пути к классу при запуске приложения). – Jesper

1

Java: JDBC Связь с MSSQL в NetBeans

Шаги

  1. Скачать JDBC от: https://www.microsoft.com/en-in/download/details.aspx?id=11774
  2. Run sqljdbc__enu.exe - распаковать этот файл почтового индекса в% Program Files (x86)% с каталогом по умолчанию: Microsoft JDBC DRIVER для SQL Server
  3. Создайте свой новый проект кт в NetBeans
  4. Щелкните правой кнопкой мыши на проекте - выберите Свойства - выберите Библиотеки из левой панели - нажмите кнопку Добавить JAR/Folder - выберите файл JAR и открытым - ок
  5. Открыть Sql Configuration Manager Сервер - выберите Протоколы SQLEXPRESS под Sql Конфигурация сети сервера - Щелкните правой кнопкой мыши по TCP/IP - выберите «Свойства» - измените «Включить на« Да »- нажмите« IP-адрес » Адреса - Перейти к IPAll - Изменение TCP-динамических портов до 49169 и TCP Порт до 1433 - Применить - Ok - Перезагрузка Компьютер
  6. Открыть Запуск и ввести Services.msc - Запустить браузер SQL Server
  7. Перейти к проекту и написать код для подключения к базе данных.

Код для локального подключения к базе данных:

String url = "jdbc:sqlserver://YOUR PC NAME;instanceName=SQLEXPRESS;DatabaseName=dbname;integratedSecurity=true"; 

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 
Connection myCon = DriverManager.getConnection(url); 

Statement myStmt = myCon.createStatement(); 
ResultSet myRs = myStmt.executeQuery("select * from table name"); 
Смежные вопросы