批量插入不适用于NULL数据

时间:2013-04-25 10:52:37

标签: sql-server sql-server-2008 csv bulkinsert

当我从CSV文件中将批量数据插入表格时,它无效,显示错误谎言:

第2行第9行的批量加载数据转换错误(指定代码页的类型不匹配或无效字符)

csv文件中的第9列值为null ..

我该如何处理?

1 个答案:

答案 0 :(得分:2)

根据这些信息,我说目标表的特定字段被定义为" NOT NULL"。要解决您必须解决的问题:

a)修改csv - >将值添加到有空的字段中

b)通过设置受影响的字段来修改目标表格' nullable' ALTER TABLE [tblName] ALTER COLUMN [nulColName] [varType such as INT] NULL如果您选择此解决方案并希望转回表格'状态再次改变:
UPDATE [tblName] SET [nulColName]=-1000 WHERE [nulColName] IS NULL以避免更改错误,然后ALTER TABLE [tblName] ALTER COLUMN [nulColName] [varType such as INT] NOT NULL

c)非常类似于' b'选项但更专业和更快:根据目标表创建临时表,但允许空值到任何和所有字段,然后在csv导入后使用"默认值"更新临时表的空记录。并将数据复制到目标表中

如果我对这个问题是正确的,并且没有修改csv的选项我去了选项' c'