【发布时间】:2017-12-20 02:07:34
【问题描述】:
我正在使用 SQL Server Express 并通过导入向导进行导入,因此没有提供真正的代码。
此处显示错误:
错误 0xc0202009:数据流任务 1:SSIS 错误代码 DTS_E_OLEDBERROR。
发生 OLE DB 错误。错误代码:0x80004005。
OLE DB 记录可用。来源:“Microsoft SQL Server Native Client 11.0” Hresult:0x80004005 描述:“语句已终止。”。OLE DB 记录可用。
来源:“Microsoft SQL Server Native Client 11.0”
结果:0x80004005
说明:“违反 PRIMARY KEY 约束 'PK_CXS'。无法在对象 'dbo.cxs' 中插入重复键。重复键值为 (00, 00, 000000, 2017, 03, 01, 00000000, 0)。”。
我已经在 Excel 中通过给定值进行过滤进行了测试。只有一排出现。我连接了代表主键的八列,然后查找重复项。没有找到。接下来,使用 Notepad ++ 中的 TextFX 工具,我尝试删除重复项,但没有找到。
还有其他方法可以找到这个看似不存在的重复项吗?
【问题讨论】:
-
数据库中已经存在的记录呢?当您尝试导入表中已存在的主键时,您会收到错误消息。
-
在每次导入错误之前,我使用 delete from dbo.XXX 删除所有记录。这足够还是我需要更进一步?
-
嗨,蒂姆,看起来 PK_CXS 是一个复合主键,里面有多个东西,你要一起检查它们吗?还要检查密钥是否已自动生成。 p.s.在这里,一个巨大的复合主键对我来说看起来不太好,也许将主键切换到标识列会让生活更轻松?
-
只是为了确保,尝试删除并重新创建表。如果它仍然产生错误,那么您就知道文件中存在重复项。
-
如果它有任何值,我正在导入的平面文件中有 394,910。导入停止在 393,192
标签: sql sql-server duplicates primary-key