我使用并通过导入向导导入,因此没有真正提供的代码。
错误显示在这里:
错误0xc0202009:数据流任务1: SSIS错误代码DTS_E_OLEDBERROR。 发生了OLE DB错误。错误代码: 0x80004005。 OLE DB记录是可用的。来源:"Microsoft SQL Server本机客户端11.0“H结果: 0x80004005描述:”语句已被终止“。OLE DB记录是可用的。 来源:“本机客户端11.0” 结果: 0x80004005 说明:“违反主键约束'PK_CXS‘。无法在对象'dbo.cxs’中插入重复键。重复键值为(00,00,000000,2017,03,01,00000000,0)。”
此后,我通过对给定的值进行筛选,在Excel中进行了测试。只有一排出现。我将表示主键的八列连接起来,然后查找重复的列。没有人被发现。接下来,使用记事本中的TextFX工具,我尝试删除重复项,但没有发现任何副本。
还有其他方法可以找到这个看似不存在的复制吗?
发布于 2017-07-14 22:16:32
一些建议(这并不是一个完整的答案,但对给定的数据,是我所能做到的)。
在某些情况下,您可能会将数据作为文本(如1.000000001和1.000000002)在文本文件中不同,但由于截断、舍入或其他类型的转换效果,一旦转换成目标类型,数据可能会变成相同的数据。这可能是您无法在文本文件中找到重复项的原因,但是数据库会找到它们。
您可以使用和检查以下几种技术:
如果前面的选项都不可能,您可以遵循以下过程:
PRIMARY KEY
或UNIQUE
约束。我们叫它load_table
吧PRIMARY KEY
约束,因为没有任何约束。k1
、k2
、k3
. kn
是构成目标表主键的所有列。使用这些技术,您将找到Server找到的复制项,但却没有使用到到现在为止使用过的方法。
https://stackoverflow.com/questions/45112009
复制相似问题