2016-01-08 4 views
-2

Я нашел много ответов на подобные вопросы, но я все еще не могу решить свою проблему.SQLException: Не найдено подходящих драйверов для jdbc в Java

Мой код соединения:

import java.io.*; 
import java.text.*; 
import java.util.*; 
import java.sql.*; 

public class TransformData 
{ 
public static void main(String args[]) 
{ 
    String url = "jdbc:sqlserver://SQLFULL:1433;databaseName=BA_ELTRUN;"; 
    Connection dbcon; 
    Statement stmt; 
    ResultSet rs; 
    Scanner input = new Scanner(System.in); 

    try 
    { 
     Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 
    } 
    catch(java.lang.ClassNotFoundException e) 
    { 
     System.out.print("ClassNotFoundException: "); 
     System.out.println(e.getMessage()); 
    } 

    try 
    { 
     dbcon = DriverManager.getConnection(url,"username","password"); 
     stmt = dbcon.createStatement(); 
    } 
    catch(SQLException e) 
    { 
     System.out.print("SQLException: "); 
     System.out.println(e.getMessage()); 
    } 
} 
} 

Когда я запускаю это я получаю следующее исключение:

ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver SQLException: No suitable driver found for jdbc:sqlserver://Konstantina\SQLFULL; databaseName=BA_ELTRUN 

sqljdbc.jar и sqljdbca.jar находятся в директории: C: \ Program Files \ Microsoft SQL Server JDBC Driver 2.0 \ Sqljdbc_2.0 \ Enu Нужно ли переместить их в другой каталог?

+0

Если вы импортируете 'com.microsoft.sqlserver.jdbc.SQLServerDriver', ваше приложение компилируется без ошибок? –

+0

@MateusViccari Вы имеете в виду выражение import, подобное этому 'import com.microsoft.sqlserver.jdbc.SQLServerDriver;'? Извините, если это глупый вопрос, я новичок во всех этих вещах. –

+0

Да, или просто замените 'Class.forName (« com.microsoft.sqlserver.jdbc.SQLServerDriver »);' by' Class.forName (com.microsoft. sqlserver.jdbc.SQLServerDriver.class.getName()); '. Если при этом ваша IDE показывает ошибку в этой строке, это связано с тем, что библиотека не была правильно добавлена ​​в проект. –

ответ

0

Вам нужно добавить SQLServerDriver библиотеки зависимостей проекта

+0

Как это сделать? –

+0

Я никогда не использовал TextPad, но у вас должен быть способ упаковать ваше приложение в файл .jar, который создаст файл manifest.mf, указывающий на библиотеки. Обычно это проще, если вы используете некоторые IDE, такие как Netbeans, Eclipse или Intellij, а не простой текстовый редактор. –

0

Проблема заключается в том, что при регистрации драйвера через вызов Class.forName, ожидается, что она уже будет на пути к классам. Полученное вами ClassNotFoundException означает, что библиотеки sqljdbc.jar и sqljdbca.jar не находятся в вашем пути к классам, поэтому вам нужно будет убедиться, что они включены. Дополнительную информацию и точные шаги, чтобы библиотеки были в вашем пути к классу, см. Ниже: https://msdn.microsoft.com/en-us/library/ms378526(v=sql.110).aspx

+0

Я добавляю их в эти директории: C: \ Program Files \ Java \ jre7 \ lib \ ext и C: \ Program Files \ Java \ jdk1.7.0_79 \ jre \ lib \ ext и, наконец, он работает –

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