我正在尝试批量插入到具有标识列的表中。但是我的主机文件包含标识列的空值。当我发出' 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',table' xx.dbo.yyy&#39 ;; 列不允许空值。 INSERT失败。
SQLState = 01000,NativeError = 3621
警告= [Microsoft] [SQL Server Native Client 10.0] [SQL Server] 声明被终止了。
BCP副本失败
如果我没有为标识列提供空值,那么我会收到错误 - 在bcp数据文件中遇到意外的EOF。
请帮助将bcp工作批量插入到表中..
答案 0 :(得分:1)
虽然我建议您先将数据批量插入某个临时表,然后将数据从登台表插入主表。这样您就可以保留标识列。 下一种方法是在主机文件中添加一个额外的id列,并将列保持为空,然后执行批量插入。另外,请确认您是否在批量插入查询中使用了KEEPIDENTITY关键字。