使用ssis导入文本文件时如何插入主键

Posted

技术标签:

【中文标题】使用ssis导入文本文件时如何插入主键【英文标题】:How to insert primary key when import text file with ssis 【发布时间】:2016-05-11 09:27:24 【问题描述】:

我是 SSIS 的新人。今天,我有一个问题。当我通过 SSIS 包将文本文件中的数据导入表时,它显示错误“无法将值 NULL 插入列 'CustomerID',表 'Customer';列不允许空值。插入失败”。 CustomerID 列是表中的主键。我想生成主键。谁能帮我。非常感谢。

【问题讨论】:

...你的主键包含什么? 【参考方案1】:

嗯,错误很明显。主键中没有NULLs。通常用于生成主键的方法是将CustomerID 声明为IDENTITY PRIMARY KEY 列,当您INSERT 记录时,它将使用UNIQUE 值自动填充列。

有关IDENTITY 列的更多信息 - MSDN

请注意,如果您使用此方法,则不得从文本文件中为 CustomerID 列插入任何值。

请注意,您在问题中提到了

我要生成主键。

确保您的任何其他数据/表当前未使用列 CustomerID。如果是这样,那么您需要保留相同的 CustomerIDs 或 UPDATE 引用列,以确保它们包含新的 CustomerIDs。

【讨论】:

很高兴,如果这是您要寻找的答案,请点击绿色的勾号按钮 :)

以上是关于使用ssis导入文本文件时如何插入主键的主要内容,如果未能解决你的问题,请参考以下文章

如何在 SSIS 中使用空格作为分隔符从平面文件中插入数据?

通过 SSIS 导入带有不规则标题行的文本文件

MySQL phpMyAdmin 从文本导入而没有主键?

利用python将文本文件导入数据库时,报错:Duplicate entry '...' for key 'PRIMARY'

将超过 255 个字符从 excel 导入到 sql server(上一个问题 - 如何使用 ssis 将文本限定 CSV 动态加载到 sql server)

插入时的 SSIS 错误 - 维度表中的新主键时出错