2013-04-09 3 views
1

Я использую эту программу для подключения к Ms Access 2007 и получения исключения, пожалуйста, помогите мне. Исключение: я проверил множество руководств, но не получал лучшее решение.java.sql.SQLException: [Microsoft] [ODBC Microsoft Access Driver]

java.sql.SQLException: [Microsoft] [ODBC Microsoft Access Driver] Не удалось найти файл '(unknown)'.

at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6956) 
at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7113) 
at sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(JdbcOdbc.java:3072) 
at sun.jdbc.odbc.JdbcOdbcConnection.initialize(JdbcOdbcConnection.java:323) 
at sun.jdbc.odbc.JdbcOdbcDriver.connect(JdbcOdbcDriver.java:174) 
at java.sql.DriverManager.getConnection(DriverManager.java:579) 
at java.sql.DriverManager.getConnection(DriverManager.java:221) 
at multithreading.dbAccess.main(dbAccess.java:14) 

import java.sql.*; 
public class dbAccess 
{ 
public static void main(String[] args) 
{ 
    try 
    { 
     Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
     String database = 
      "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=payroll.mdb;"; 
     Connection conn = DriverManager.getConnection(database, "", ""); 
     Statement s = conn.createStatement(); 

     // create a table 
     String tableName = "myTable" + String.valueOf((int)(Math.random() * 1000.0)); 
     String createTable = "CREATE TABLE " + tableName + 
          " (id Integer, name Text(32))"; 
     s.execute(createTable); 
     // enter value into table 
     for(int i=0; i<25; i++) 
     { 
      String addRow = "INSERT INTO " + tableName + " VALUES (" + 
       String.valueOf((int) (Math.random() * 32767)) + ", 'Text Value " + 
       String.valueOf(Math.random()) + "')"; 
      s.execute(addRow); 
     } 
     // Fetch table 

     String selTable = "SELECT * FROM " + tableName; 
     s.execute(selTable); 
     ResultSet rs = s.getResultSet(); 
     while((rs!=null) && (rs.next())) 
     { 
      System.out.println(rs.getString(1) + " : " + rs.getString(2)); 
     } 

     // drop the table 
     String dropTable = "DROP TABLE " + tableName; 
     s.execute(dropTable); 
     // close and cleanup 
     s.close(); 
     conn.close(); 
    } 

    catch(Exception ex) 
    { 
     ex.printStackTrace(); 
    } 
} 
}` 

ответ

2

Вы можете обратиться this. Это поможет

Кроме того, перейти к панели управления-> Администрирование-> Источники данных-> Добавить-> Microsoft Access Drivers (* mdb, * accdb) -> Ok-> Ok-> Ok. Он может работать для подключения ODBC.

Кроме того, вы должны обеспечить правильный путь к payroll.mdb в

DBQ = payroll.mdb

+0

Спасибо свою работу – 2013-04-09 10:18:52

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