【发布时间】:2017-05-01 18:22:06
【问题描述】:
我刚刚成功连接到本地 .accdb 访问数据库,现在正在尝试创建我的表。我用 Java 运行这两行代码,运行这些 SQL 命令时没有错误:
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 打开刚刚创建的表,这两个生成的表之间存在差异。
我可以正常打开“质量”表并插入一些值。
现在,如果我尝试打开“供应商”,我会收到以下错误消息:
它是德语,意思是“无法打开数据库''。数据库没有被您的应用程序识别或文件已损坏。”
所以我尝试删除“[ID] AUTOINCREMENT PRIMARY KEY”,没有这个它可以正常工作。所以这个错误一定是由“AUTOINCREMENT”引起的。
要连接我使用 ucanacess 的数据库:
Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
c = DriverManager.getConnection("jdbc:ucanaccess://C:/bin/Test.accdb");
我的“自动增量”有什么问题吗?
【问题讨论】:
标签: java database ms-access jdbc ucanaccess