【发布时间】:2013-07-25 15:17:07
【问题描述】:
我正在尝试批量插入具有标识列的表中。但我的主机文件包含标识列的空值。当我发出“bcp”命令时,出现错误 -
开始复制...
SQLState = S1000,NativeError = 0
错误 = [Microsoft][SQL Server Native Client 10.0]意外的 EOF 在 BCP 数据文件中遇到
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]The 语句已终止。
BCP 复制失败
如果我没有为标识列提供空值,那么我会收到一个错误 - 在 bcp 数据文件中遇到意外的 EOF。
请帮助将 bcp 工作批量插入到表中..
【问题讨论】:
-
你能发表你的声明吗?有格式文件吗?
-
我会将以上内容添加到您的问题中,您能显示示例数据吗?在您的
.txt中有一个空的 id 字段并且不使用KEEPIDENTITY应该可以工作。 -
是的。我的错误..我在不知不觉中使用了 KEEP IDENTITY..删除它之后,它可以工作。如果没有在数据文件中指定空 id 字段,是否有任何选项可以删除 id数据文件中的字段?
-
如果您想删除必须先插入临时表的空 ID 字段,不要认为有其他选择。
标签: sql sql-server bulkinsert bcp