Access 数据库中的“书签无效”错误

Posted

技术标签:

【中文标题】Access 数据库中的“书签无效”错误【英文标题】:"Bookmark not valid" error in Access database 【发布时间】:2015-04-01 07:56:18 【问题描述】:

我有一个简单的应用程序,它将数据从 mysql 数据库写入 Access .accdb 数据库。

我已经用了4个月了,没有任何问题。

昨天我尝试使用它,现在我遇到了问题。如果我尝试使用 Microsoft Access 打开文件并尝试打开表 CodScontrini,我会看到所有记录。如果我尝试打开 Scontrini 表,我会收到以下消息:

书签无效

如果我尝试从 Eclipse 运行我的 Java 应用程序,我会看到以下警告消息:

警告:表 CodScontrini 的元数据出错:元数据中表的行数为 665,但 UCanAccess 已找到并加载了 499 条记录。一切都会正常工作,但最好修复您的数据库。

【问题讨论】:

您是否在 Access 数据库中尝试过压缩和修复? 【参考方案1】:

这意味着在您的访问数据库中检测到数据和元数据之间的不一致。压缩和修复工具将解决这个问题。

【讨论】:

我用 Microsoft Access 2010 打开我的文件 CassaGestionle.accdb,然后我进入文件 -> 信息 -> 压缩和还原,我收到以下错误消息:(数据库 C:\user 的未知格式\desktop\Cassagesionale.accdb) @bircastri 问题中引用的两条消息实际上可能没有直接关系。第二条(元数据警告)消息指的是CodScontrini 表,通常不是一个严重的问题。第一条(无效书签)消息指的是Scontrini 表,通常表示该表中的数据已损坏。尝试将 Scontrini 表导出到 CSV 或 Excel 中,看看您是否获得了所有(或任何)记录。 如果我尝试在 CSV 或 Excel 文件中导出表 Scontrini,我会遇到同样的错误。书签无效。 @bircastri 听起来肯定是该表(或者它的索引之一)已损坏。如果您无法将表格从 Access 导出到 CSV,那么也许可以尝试使用类似 this 的代码使用 Jackcess 将其导出到 CSV。 (您可以在 UCanAccess 项目中使用该代码,因为 UCanAccess 使用 Jackcess,因此所需的库应该已经在您的构建路径中。)

以上是关于Access 数据库中的“书签无效”错误的主要内容,如果未能解决你的问题,请参考以下文章

Access 模板宏中的 SaveRecord 错误

当我尝试通过 C# 将日期插入 Access 数据库时出现“INSERT INTO 语句中的语法错误”错误

尝试插入 Access 数据库时,条件表达式中的数据类型不匹配错误

Access 2010 中的 SQL 错误

将记录添加到 Access 数据库时出现“INSERT INTO 语句中的语法错误”

宏中的 Access 2010 SQL 错误