我在Microsoft访问ASE服务器的链接表。 在服务器端,表没有主键或标识列。 并且在插入时有一个触发器来验证新条目,以便在未验证条目时,它会从表中删除该条目并写入"table"_ERR让用户知道产生了什么错误。
将其链接到 Access 时,将使用 10 列创建组合键。
我在 10 个不同的表中有相同的设置(所有表的触发器都链接到 Access(
在这个特定的表中,当尝试通过 Access 将记录插入/追加到表中时,我总是收到错误消息:
单行更新/删除影响了链接表的多行。唯一索引包含重复值。
当表和table_ERR都为空并且我只尝试插入 1 条记录时,会发生此错误。
如果我禁用触发器,则通过 Access 插入记录没有问题
我在其他正常工作的表中也有类似的触发器。 什么可能导致此问题,有谁知道如何解决这个问题?
我已经读到MS Access可能会弄乱@@identity,即使如此,在线提供的解决方案似乎都不起作用。
友情链接 : https://groups.google.com/forum/#!msg/microsoft.public.sqlserver.programming/McHdRpPKMhs/SlyObU8w7JMJ
在追加到 SQL 服务器上的链接表时阻止 Access 使用错误的标识
提前谢谢。
编辑:如果我尝试直接从管理软件(如Aqua Data Studio(插入记录,则没有错误
如果不了解有关数据本身的更多细节,就很难说为什么会发生这种情况。
但是,听起来在这个特定链接表的特定实例中,您的 10 列不够唯一,无法防止选择非不同的行。
建议的修复:
- 添加主键。老实说,可能是最好和最简单的选择。
- 如果由于某种原因您无法向表添加新列(或更改(;您可以重新链接表,并重新选择10列,使它们更加唯一。
- 除此之外,我认为我们需要更多信息。
只是出于好奇,没有钥匙的原因是什么?