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 数据库中的“书签无效”错误的主要内容,如果未能解决你的问题,请参考以下文章
当我尝试通过 C# 将日期插入 Access 数据库时出现“INSERT INTO 语句中的语法错误”错误
尝试插入 Access 数据库时,条件表达式中的数据类型不匹配错误