1

我正在尝试批量插入具有标识列的表中。但我的主机文件包含标识列的空值。当我发出“bcp”命令时,出现错误 -

开始复制...

SQLState = S1000,NativeError = 0

错误 = [Microsoft][SQL Server Native Client 10.0]在 BCP 数据文件中遇到意外的 EOF

SQLState = 23000,NativeError = 515

错误 = [Microsoft][SQL Server Native Client 10.0][SQL Server]无法将值 NULL 插入列 'UNIQUE_ID',表 'xx.dbo.yyy';列不允许空值。插入失败。

SQLState = 01000,NativeError = 3621

警告 = [Microsoft][SQL Server Native Client 10.0][SQL Server]语句已终止。

BCP 复制失败

如果我没有为标识列提供空值,那么我会收到一个错误 - 在 bcp 数据文件中遇到意外的 EOF。

请帮助将 bcp 工作批量插入表中。

4

1 回答 1

2

尽管我建议您先将数据批量插入到某个临时表中,然后再将数据从临时表中插入主表中。这样您就可以保留身份列。下一种方法是在您的主机文件中添加一个额外的 id 列并将该列保持为空白,然后进行批量插入。另外请确认您是否没有在批量插入查询中使用 KEEPIDENTITY 关键字。

于 2013-07-25T15:32:44.450 回答