gpt4 book ai didi

java - 在 UCanAccess 中通过 DDL 创建的表无法在 Access 本身中打开

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:04:21 24 4
gpt4 key购买 nike

我已经能够使用 UCanAccess 2.0.6 驱动程序从 Java 成功创建 MS Access 数据库表。但是,我随后无法从 MS Access(Microsoft Office 2007、Windows 7 64 位)打开表格,MS Access 抛出错误:

Reserved Error (-5001); there is no message for this error.

在 MS Access 本身中使用完全相同的 CREATE TABLE 语句不会产生任何问题。奇怪的是,表已成功创建,并且可以通过查询成功添加和检索数据。因此这些表位于基础数据库中,但 Access 无法打开它们。

如果有帮助,我正在使用的创建语句之一如下:

CREATE TABLE tblMain (
ID COUNTER NOT NULL PRIMARY KEY,
Project INTEGER NOT NULL,
ItemNumber INTEGER NOT NULL,
DateCreated DATETIME NOT NULL,
ItemName TEXT NOT NULL,
ItemDescription MEMO NOT NULL,
OriginatorPerson TEXT NOT NULL,
DueDate DATETIME NOT NULL,
Closed YESNO NOT NULL,
ClosingComments MEMO NOT NULL,
Priority YESNO NOT NULL,
AssignedToCompany TEXT NOT NULL,
AssignedToPerson TEXT NOT NULL);

最佳答案

我无法重现此问题,无论是使用 Access 2007 还是使用 Access 2010。使用 Access 2003 也一切正常。但它可能会发生在某些 Access 版本中......它看起来与另一个用户在 UCanAccess 论坛中报告的问题非常相似,我已修复(但在那种情况下,我无法重现此问题): http://sourceforge.net/p/ucanaccess/discussion/help/thread/5a57b955/ .

我很确定这是关于 UCanaccess(使用底层 jackcess)保留列属性(例如,默认值、“必需”等)的方式。您能否尝试重新执行您的 DDL,避免在不需要的地方设置“not null”,例如在 ID 列(Counter 和 PK)上?请让我知道您的发现,我没有其他方法可以明确修复此错误。

关于java - 在 UCanAccess 中通过 DDL 创建的表无法在 Access 本身中打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23836545/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com