2013-11-15 43 views
1

如何使用Java連接到Access數據庫?使用NetBeans以Java連接到Access數據庫

我已經這樣做了:

package inspection.management.system; 

import java.sql.*; 

/** 
* 
* @author Fuhans 
*/ 

public class Database 
{ 
    public static void DatabaseConnectivity() 
    { 
     try 
     { 
      Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 

      String url = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=" + "d:\\program files\\project\\program\\inspection management system\\db1.accdb"; 

      Connection conn = DriverManager.getConnection(url); 

      System.out.println("Connection Successful"); 
      InfoBox.ShowMessageBox("Connection Successful!", "Success"); 
     } 

     catch (Exception e) 
     { 
      System.err.println("Got an exception!"); 
      System.err.println(e.getMessage()); 

      InfoBox.ShowMessageBox("Got an Exception!", "Error"); 
      InfoBox.ShowMessageBox(e.getMessage(), "Error"); 
     } 
    } 
} 

if (_textField1.equals("Fuhans") && _passwordField1.equals("Xavega")) 
     { 
      Sound.PlaySound(1); 
      InfoBox.ShowMessageBox("Successfully Login!", "Success"); 
      Database.DatabaseConnectivity(); 
     } 

當我登錄成功,它給了我對數據庫錯誤:

enter image description here

我做了什麼錯?

+0

你創建一個使用ODBC管理應用程序中的數據源? – OldProgrammer

+0

不是,在ODBC管理員應用程序中,我沒有Ms訪問驅動程序,我只有SQL驅動程序。但現在這個應用程序,我使用Ms Access。 – Kaoru

+0

因此,如果沒有安裝Access ODBC驅動程序,那麼您希望如何連接到Access數據庫呢? – OldProgrammer

回答

0

您應該先創建一個DSN(數據源名稱)。

在控制面板中,如果沒有用於訪問的驅動程序,即使已安裝,也有可能無法獲取odbcad32.exe文件路徑。 從中選擇您的路徑,然後右鍵單擊數據源(ODBC)[您正在創建DSN的位置],然後粘貼以下路徑之一。

  1. 的odbcad32.exe的文件的32位版本位於:

    %WINDIR%\的Windows \ SYSWOW64

  2. 的odbcad32.exe的文件的64位版本的位於:

    %WINDIR%\ Windows \ System32下

同時訪問,這樣做:

String url = "jdbc:odbc:dsn_name"; 
Connection conn = DriverManager.getConnection(url); 
0

變化的聲明:

String url = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=" + "d:\\program files\\project\\program\\inspection management system\\db1.accdb"; 

到:

String url = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=" + "C://program files//project//program//inspection management system//db1.accdb"; 
1
在ODBC管理應用

,我沒有的MS Access驅動程序,我只有SQL驅動程序。

既然JDBC-ODBC橋已從Java(自Java 8以來)中刪除,則應考慮使用UCanAccess JDBC驅動程序。它是純粹的Java實現,因此它也可以在非Windows平臺上運行。

欲瞭解更多信息,請參閱

Manipulating an Access database from Java without ODBC