2012-04-30 28 views
2

JavaアプリケーションからMS Accessデータベースに接続しようとしています。これは私のコードです:データソース名が見つかりません。デフォルトドライバが指定されていません

try { 
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
// set this to a MS Access DB you have on your machine 
String filename = "UserInformation.accdb"; 
String database = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ="; 
database+= filename.trim() + ";DriverID=22;READONLY=true}"; // add on to the end 
// now we can get the connection from the DriverManager 
Connection con = DriverManager.getConnection(database ,"",""); 
Statement st= con.createStatement(); 
int i=st.executeUpdate("insert into Users(User_Name,User_Password)    values('"+username+"','"+password+"')"); 
System.out.println("Row is added"); 
}catch (Exception e) { 
System.out.println("Error: " + e); 
} 

この例外が発生します:データソース名が見つかりません。デフォルトのドライバが指定されていません(ODBC)?

どうすれば修正できますか?事前

+0

もし私が誤っていないのであれば、 'jdbc:odbc:Driver = {Microsoft Access Driver(* .accdb)}; DBQ = c: my \ database \ UserInformation.accdb; DriverID = 22; READONLY = true' –

+0

私はすでにそれを試しました。また、自分のデータベースを自分のプロジェクトフォルダに入れました。 – user1244069

+0

今、適切なドライバが見つかりませんでした。 – user1244069

答えて

0

おかげでそれはいくつかすることができます。 64ビットデスクトップ上の32ビットマシンからデータベースをハッキングする際にこの問題が発生しました。

odbcと32ビットと64ビットのJavaでGoogleを使用して問題を解決すると、かなりの量のマテリアルが表示されます。最終的にはJava 5から6に切り替えて、Eclipseランタイム設定が互換性のないビットモードを設定していないことを確認しました。

私はそれが非常に状況に依存する可能性があると考えて数時間を費やした後、少し漠然として申し訳ありません。

関連する問題

 関連する問題