Java-программа для подключения к Sql Server и выполнения примера запроса из Eclipse
package sqlselection;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class Sqlselection
{
public static void main(String[] args)
{
try
{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
String userName = "sa";
String password = "password";
String url = "jdbc:microsoft:sqlserver://localhost:1433"+";databaseName=AdventureWorks2008R2";
Connection con = DriverManager.getConnection(url, userName, password);
Statement s1 = con.createStatement();
ResultSet rs = s1.executeQuery("SELECT TOP 1 * FROM HumanResources.Employee");
String[] result = new String[20];
if(rs!=null){
while (rs.next()){
for(int i = 0; i <result.length ;i++)
{
for(int j = 0; j <result.length;j++)
{
result[j]=rs.getString(i);
System.out.println(result[j]);
}
}
}
}
//String result = new result[20];
} catch (Exception e)
{
e.printStackTrace();
}
}
}
enter code here
выше приведен пример моей программы для подключения к Sql server для запуска примера запроса select из eclipse.
Я получаю ниже ошибки.
java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
at java.net.URLClassLoader.run(Unknown Source)
at java.net.URLClassLoader.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at sqlselection.Sqlselection.main(Sqlselection.java:13)
я добавил sqljdbc.jar, sqljdbc4.Джар в библиотеку. Помогите исправить это
8 ответов
проблема Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
эта строка. Квалифицированное имя класса неверно
Это sqlserver.jdbc
не jdbc.sqlserver
вы забыли добавить sqlserver.jar
во внешней библиотеке eclipse
выполните процесс добавления файлов jar
- щелкните правой кнопкой мыши на вашем проекте.
- нажмите buildpath
- нажмите Настроить путь bulid
- нажмите Добавить внешнюю банку, а затем дайте путь jar
см. ссылку ниже.
есть два важных изменения, которые вы должны сделать
имя драйвера как " com.Microsoft.от SQLServer.интерфейс jdbc.SQLServerDriver"
& in URL "jdbc:sqlserver: / / localhost: 1433"+"; databaseName=AdventureWorks2008R2"
на ссылке и водителя sqlserver
, скачать и добавить его в свой eclipse
buildpath по.
щелкните правой кнопкой мыши свой проект- - - >Путь сборки- - - - >настроить путь сборки - - - - > вкладка библиотеки - - - >добавить внешние банки - - - >(перейдите к месту, где вы сохранили jar драйвера sql) - - - > ok
добавить sqlserver.jar
Вот ссылке
как следует из названия ClassNotFoundException
в Java является подклассом java.lang.Exception
и приходит, когда Виртуальная Машина Java пытается загрузить определенный класс и не найден запрошенный класс в classpath.
еще один важный момент об этом исключении заключается в том, что это проверенное исключение и нужно указать, обработка исключений при использовании методов, которые могут возможно, бросить ClassNotFoundException
в java либо с помощью блока try-catch, либо с помощью предложения throws.
public class ClassNotFoundException
extends ReflectiveOperationException
брошенный, когда приложение пытается загрузить в класс через его название строку:
- метод forName в классе Class.
- метод findSystemClass в ClassLoader.
- метод loadClass в классе ClassLoader.
но нет определения для класс с указанным именем может быть найден.
загрузите драйвер Microsoft jdbc 4.0 для SQL Server, который поддерживает:
SQL Server versions: 2005, 2008, 2008 R2, and 2012.
JDK version: 5.0 and 6.0.
запустите загруженную программу sqljdbc__.исполняемый. Он будет извлекать файлы в указанный каталог (по умолчанию используется драйвер Microsoft JDBC 4.0 для SQL Server). Вы найдете два файла jar sqljdbc.jar (для JDBC 3.0) и sqljdbc4.jar (для JDBC 4.0), плюс некоторые .файлы dll и файлы справки HTML.
поместите sqljdbc4.файл jar в пути к классам вашего приложения, если вы используете JDK 4.0 или sqljdbc4.1.jar-файл, если вы используете JDK 6.0 или более позднюю версию.
просто измените запрос следующим образом:
SELECT TOP 1 * FROM [HumanResources].[Employee]
здесь Employee
- это имя таблицы, а HumanResources
- это имя схемы, если я не ошибаюсь.
надеюсь, ваша проблема будет решена. :)