0

これは私のコードです:

public class ConnectDB {
Connection conn;
Scanner kb=new Scanner(System.in);
public String ID;
public ConnectDB()
{
try
     {
        Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver");
        System.out.println ("Driver successfully loaded");
     }
         catch (ClassNotFoundException c)
        {
           System.out.println ("Unable to load database driver");
        }

  //connect to the database
     try
     {
    String filename = "PATPhase2DB.mdb";
    String database = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb,*.accdb)};DBQ=";
    database += filename.trim () + ";DriverID=22;READONLY=true}";
    conn = DriverManager.getConnection (database,"","");
    System.out.println ("Connection to database successfully established");

     }
     catch (Exception e)
     {
         System.out.println ("Unable to connect to the database");
     }
}

メッセージは次のとおりです:
ドライバが正常にロードさ
れました データベースに接続できません
java.lang.NullPointerException

これは私のものとは別のコンピューターで機能し、まったく同じコードを介してデータベースに接続しました。Windows 8も実行しています。

4

4 に答える 4

3

これは非常に一般的なエラーです。

その理由はsome other application is using your database(最も一般的には Microsoft Access でデータベースを開いている) ためです。

閉じて楽しんでください。

編集:
この回答は、コメントに記載されているエラー ユーザーに対するものです(レジストリ キー 'temporary (volatile) を開けません)

于 2014-05-18T03:44:25.823 に答える
0

この場合、アクセス データベース ファイルの完全なパスに言及する必要があり、拡張子 ( .mdb, *.accdb) スペース間の URL は必須です。

String database="C:/Users/GIRI/Desktop/fdsfkdsfj/abc.accdb";
String url="jdbc:odbc:Driver={Microsoft Access Driver (.mdb, *.accdb)};DBQ=" + database + ";DriverID=22;READONLY=true";
于 2016-03-06T15:15:19.630 に答える