ローカルの.accdbアクセスデータベースに接続してテーブルを作成しようとしました。私は、Javaでこれらの2つの行を実行するとエラーは、これらのSQL-コマンドを実行している間に存在しない:アクセスDBの自動インクリメントでテーブルを開くことができません
Statement st = d.createStatement();
st.executeUpdate("CREATE TABLE suppliers ([name] TEXT(255), [adress] TEXT(255), [ID] AUTOINCREMENT PRIMARY KEY);");
st.executeUpdate("CREATE TABLE quality ([name] TEXT(255));");
st.close();
しかし、今、私は、Microsoft Accessで作成したテーブルを開きたいと生成された2つのテーブル間に差があります。
テーブル「品質」を通常開き、いくつかの値を挿入できます。
は今、私は「サプライヤー」をオープンしようとしている場合、私は、このエラーメッセージが出ます:
をそれはドイツ語であり、「データベース 『』が開かれていませんでした意味のどちらかのデータベースのdoesn。アプリケーションによって認識されないか、ファイルが破損しています。
私は「[ID] AUTOINCREMENT PRIMARY KEY」を削除しようとしましたが、これがなければ正常に動作します。したがって、エラーは "AUTOINCREMENT"によって引き起こされている必要があります。私はucanacessを使用するデータベースに接続するための
:
Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
c = DriverManager.getConnection("jdbc:ucanaccess://C:/bin/Test.accdb");
は、私は私の "AUTOINCREMENT" と間違って何かをやっていますか?