当我从CSV文件向表中插入批量数据时,它不工作,显示错误:
第2行、第9列的大容量加载数据转换错误(类型不匹配或指定代码页的字符无效)
csv文件中的第9列的值为空。
我该怎么处理这个问题呢?
发布于 2013-04-25 20:08:32
根据这些信息,我认为目标表的特定字段被定义为"NOT NULL“。要解决此问题,必须执行以下操作:
a) modify csv-->将值添加到其为空的字段
b)通过设置受影响的字段‘’来修改目标表:ALTER TABLE [tblName] ALTER COLUMN [nulColName] [varType such as INT] NULL
如果您使用此解决方案,并希望恢复表的状态,请再次更改它:
UPDATE [tblName] SET [nulColName]=-1000 WHERE [nulColName] IS NULL以避免alter错误,然后按ALTER TABLE [tblName] ALTER COLUMN [nulColName] [varType such as INT] NOT NULL
c)很像'b‘选项,但更专业、更快:基于目标表创建临时表,但允许任何字段为空,然后在csv导入后更新临时表的空记录,并将数据复制到目标表
如果我对这个问题的判断是正确的,而且没有修改csv的选项,我会选择'c‘。
https://stackoverflow.com/questions/16212834
复制相似问题