MS-Access链接表的并发错误

时间:2012-10-25 13:55:38

标签: sql-server ms-access sql-server-2008-r2 linked-tables

我通过MS Access链接表将表链接到SQL 2008R2数据库。

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

  

自您开始编辑以来,其他用户已更改该记录   它。如果保存记录,则会覆盖另一个记录的更改   用户制作

当表中只有一个位字段时,我没有任何问题。这真是一个奇怪的错误imho。有没有其他人遇到过这个问题并且找到了解决方法呢?

2 个答案:

答案 0 :(得分:1)

我在使用SQL时通常使用链接表时遇到过这种问题。我不确定为什么你会看到特定于bit字段的问题。尝试将带有timestamp(rowversion)数据类型的'ts'列添加到表中,并在Access中重新链接。

答案 1 :(得分:0)

我知道这是一个古老的问题,但也许我的回答会让其他人受益,因为我在处理同样的问题和其他类似的问题。

我有类似的错误,并且大部分能够解决它。有一点可能有用,就是在数据库中使用SQL事件探查器,并在尝试添加新行时观察Access生成的SQL命令。

很少要检查.. 1)验证表集中是否有ID列作为主键和自动编号 2)如果这涉及另一个表之间的主/子关系,则在Access数据库工具“关系”中,指定这些类型之间的关系和连接类型。 3)如果表之间存在连接,那么请在查询中显示主列和外部列。

使用SQL事件探查器,我会看到它将尝试根据主键以外的其他列查找要更新的行。 e.g。

更新表    设定...... 其中id = 5,data1 = somevalue和data2 == othervalue

执行此操作时,我有时会得到相同的错误,因为我可能在新行中编辑了其他值,因此复杂的where子句将失败。你想要的是让更新完全依赖主键。

相关问题