0

从过去几年开始,我们一直在使用 XP 机器的 Access 2003 上使用 Delete 命令,并且在我们将系统升级到 Access 2010 和 Windows 7 之前它运行良好。

请参阅下面的错误。不知道我错过了什么。我尝试创建一个新的链接 oracle 表,但它不起作用。

在此处输入图像描述

4

6 回答 6

1

我在尝试通过 MS Access 2010 更新链接的 SQL Server 表时遇到了同样的锁定错误。

由于线程太旧了,这对您来说可能不再是问题,但希望它在将来让其他人更容易。

我可以通过将 SQL Server 中的 ID 字段从 bigint 更改为 int 来修复它。

您可能还需要确保“默认记录锁定”在访问选项中设置为“无锁定”-> 客户端设置--> 高级 DefaultRecordLocking http://www.tmetrics.net/support/patrick/stackoverflow/defaultrecordlocking .jpg

于 2012-11-14T20:07:54.030 回答
1

我在具有主键和唯一键的链接表中遇到此错误。链接表时,Access 假定唯一键是主键。

通过暂时禁用或删除唯一键并使用链接表管理器刷新 ling”,问题得到解决。

于 2013-05-23T11:11:09.640 回答
0

似乎它无法删除的 332 条记录已被锁定,也许是由其他进程锁定的?是否有一个停滞的进程在某个地方运行并锁定这些记录?

于 2012-07-09T21:08:57.943 回答
0

我在使用 Access 2016 和 Oracle 数据库时遇到了同样的问题。我可以很好地附加到 Oracle 表,但是当我运行删除查询以删除这些相同的记录时,它会删除一些记录并说其他记录被锁定。如果我循环查询足够多次,它最终会删除所有记录。

我找到的解决方案是在 Access 删除查询中,我将“使用事务”属性设置为“否”,并且它在没有任何记录锁的情况下开始正常工作。我不知道这是否是一个完美的解决方案,但它适用于我的情况。

- 更新 -

上述解决方案适用于我的一些查询,但后来我仍然遇到其他查询的问题。所以它在某些情况下有所帮助,但并没有完全发挥作用。

现在似乎正在工作的是,我在 Oracle 中存储了一个过程,该过程将删除我需要删除的数据,并且我正在从 Access 调用该过程。

于 2018-03-22T12:40:17.570 回答
0

我有一个类似的问题......可以手动删除记录,但通过查询得到该消息。

即使我以一对多的关系删除“多”表中的记录,“密钥违规”消息仍然出现。

我编辑了与 ADD Cascade UpdateCascade Delete的关系,问题就消失了。

于 2015-10-05T18:18:45.423 回答
0

我有这个问题。我有一个 Oracle 数据库的 Access 前端。我正在尝试从链接表中删除记录。我在互联网上的任何地方都没有找到解决方案。这是我的“解决方案”。
我从 DoCmd.RunSQL 转换为 DBS.Execute 以运行我的删除查询。这摆脱了错误消息。但并不是所有的记录都被删除了。所以现在我在循环中执行删除查询。recCount = DLookup("count(*)", "my_table")

Do While recCount > 0       
    DBS.Execute "DELETE * FROM my_table", dbSeeChanges 
    recCount = DLookup("count(*)", "prod_nmpsia_premiums")
Loop

有时只需要一次通过。其他时候需要一些。我知道这是一个杂牌。但它有效。

于 2016-06-30T16:43:00.853 回答