繁体   English   中英

MS-Access链接表的并发错误

[英]Concurrency error with MS-Access Linked Tables

我通过MS Access链接表将表链接到SQL 2008R2 DB。

我要更改Access链接表中的数据时会收到此警告,其中基础SQL表中有多个位字段:

自您开始编辑该记录以来,该记录已被其他用户更改。 如果保存记录,则将覆盖其他用户所做的更改

当表中只有一位字段时,我没有任何问题。 天哪,这真是一个奇怪的错误。 之前是否有人遇到过这种情况,并找到了解决方法?

我通常在使用SQL处理链接表时已经看到这种问题。 我不确定为什么您会看到特定于位字段的问题。 尝试在表中添加带有时间戳(行版本)数据类型的“ ts”列,然后在Access中将其重新链接。

我知道这是一个古老的问题,但是由于我在相同和其他类似的问题上苦苦挣扎,所以我的答案也许会对其他人有益。

我有类似的错误,并且大多数情况下都可以解决。 可能有帮助的一件事是,在数据库中使用SQL事件探查器,并在尝试添加新行时观察Access发出的SQL命令。

无需检查。1)验证表中是否将ID列设置为主键和自动编号2)如果这涉及另一个表之间的主/子关系,请在Access数据库工具“关系”中指定关系和这些类型之间的联接类型。 3)如果表之间是联接,则在查询中暴露主列和外部列。

使用SQL事件探查器,我将看到它将根据主键之外的其他列尝试在何处查找要更新的行。 例如

更新表集...其中id = 5并且data1 = somevalue和data2 == othervalue

这样做时,有时会出现相同的错误,因为我可能已经在新行中编辑了其他值,因此复杂的where子句将失败。 您想要的是使更新完全依赖主键。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM