2014-12-20 2 views
1

Я хочу подключиться к Java 8 с помощью Access, но возникает следующая ошибка, и я не знаю, как ее исправить. Я всегда получаю эту ошибку:Ошибка подключения Java 8 с доступом: не найдено подходящего драйвера

java.sql.SQLException: No suitable driver found for jdbc:ucanaccess://C:/Users/Ghazi/workspace/java w access/login.accdb

Я добавил 4 библиотеки:

  • hsqldb.jar
  • jackcess-2.0.7.jar
  • org.apache.commons.lang-2.6- source.jar
  • org.apache.commons.loggin-1.1.1-source.jar

Это мой Код

import java.sql.*; 
public class DbConnection { 
    Connection con; 
    Statement st; 
    DbConnection(){ 
     dbconnect(); 
     } 
    //----------------------- 
    public void dbconnect(){ 
     try 
     { 
    Connection conn=DriverManager.getConnection("jdbc:ucanaccess://C:/Users/Ghazi/workspace/java w access/login.accdb"); 
     Statement stment = conn.createStatement(); 
     } 
     catch(Exception err) 
     { 
      System.out.println(err); 
     } 
    } 
    //-------------------------- 
     public static void main(String[]args){ 
      DbConnection ob=new DbConnection(); 
      }//end main 
    } 

ответ

-1

Попробуйте добавить «Class.forName():

public void dbconnect(){ 
    try { 
     Class.forName("net.ucanaccess.jdbc.UcanaccessDriver"); 
     Connection conn=DriverManager.getConnection("jdbc:ucanaccess://C:/Users/Ghazi/workspace/java w access/login.accdb"); 
     Statement stment = conn.createStatement(); 
    } 
    catch(Exception err) { 
     System.out.println(err); 
    } 
    } 

Основная проблема заключается в том, что более ранние версии Java/JDBC используется ODBC для подключения к MS-Access ... и драйвер ODBC был удален из Java 8.

две альтернативы использовать:

1) UCanAccess: http://ucanaccess.sourceforge.net/site.html

... или ...

2) Jackcess (Jackcess 2,0: новые хрустящие снаружи, то же самое вкусное наполнение): http://jackcess.sourceforge.net/

Если это не работает:

3) Пожалуйста, укажите что то, что IDE вы используете (Eclipse, и т.д. - если это применимо)

4) Убедитесь, что jackcess-2.0.7.jar явно включена в CLASSPATH (как это сделать, зависит от вашего IDE)

5) Рассмотрите возможность использования ctory без пробелы в имени

+0

спасибо братан, но до сих пор не работает, я использую затмение я добавил jackcess-2.0.7.jar и 3 другие библиотеки, но не фиксированная моя проблема – user3000000

+0

вас нужна только одна * библиотека (jackcess-2.0.7.jar), и вам это нужно в Run/Debug CLASSPATH (а не только для создания пути). ТАКЖЕ: помогла ли «forName()»? Удаление пространства из пути к файлу? ДОПОЛНИТЕЛЬНОЕ ПРЕДЛОЖЕНИЕ: попробуйте [DriverManager.getDrivers()] (http://docs.oracle.com/javase/6/docs/api/java/sql/DriverManager.html) и перечислите все драйверы JDBC перед вызовом getConnection() - Посмотрите, зарегистрирован ли наш друг «ucanaccess». Похоже, в этом и проблема. – FoggyDay

+1

Похоже, вы не добавили ucanaccess.jar, его нет в вашем списке. Это в корне дистрибутива ucanaccess, в конце вам нужно пять банок. – jamadei

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