当前位置: 首页 > 知识库问答 >
问题:

大容量插入对空数据无效

漆雕修能
2023-03-14

当我从CSV文件向表插入大容量数据时,它不工作,显示错误:

行2列9的大容量加载数据转换错误(类型不匹配或指定代码格式的字符无效)

csv文件中的第9列值为NULL。

我怎么处理这个?

共有1个答案

潘宸
2023-03-14

根据这些信息,我认为目标表的特定字段被定义为“NOT NULL”。若要解决此问题,您必须:a)修改CSV-->将值添加到具有null的字段b)通过设置受影响的字段“nullable”修改目标表:ALTER table[tblName]ALTER COLUMN[nulColName][varType如INT]NULL
如果您采用此解决方案并希望返回表的状态,请再次修改它:
UPDATE[tblName]SET[nulColName]=-1000,其中[nulColName]为null以避免然后ALTER TABLE[tblName]ALTER COLUMN[nulColName][varType如INT]NOT nullc)与'b'选项非常类似,但更专业、更快:基于目标表创建一个临时表,但允许所有字段为null,然后在csv导入后使用“默认值”更新临时表的null记录,并将数据复制到目标表
如果我对这个问题的看法是正确的,并且没有修改csv的选项,我会选择选项'c'

 类似资料:
  • 我创建了一个向MySql数据库插入数百万个值的程序。我读到过有关批插入的文章,它将优化我的程序并使其更快,但当我尝试这样做时,它以同样的方式工作。我没有将每个值插入数据库,而是每次将500个值保存在一个列表中,然后将它们插入一个大循环中,如下所示: 然后我删除列表中的所有值,并再次开始收集500个值。它不应该工作得更好吗? 我的插入代码是: 我有一些问题: 1。为什么当我批量插入时它不能更快地工作

  • 我正在为SQL Server使用大容量插入命令,但由于某些原因,第一行没有插入。为什么不能从第一行插入数据?大容量插入是否需要标头作为默认设置,如何规避?如果我添加一个虚拟行,并将设置为,那么插入第一行就没有问题了,但我认为这不是一个好的解决方案。 示例数据:

  • 就像有人说的第二种方式更慢,但我不确定,那么哪种方式更好呢?不能使数据库崩溃。

  • 我正在使用大容量插入并得到以下错误: 注意:加载文件中的数据不超过配置的列长度 从'C:\temp\dataload\load_file.txt'大容量插入load_data(firstrow=1,fieldterminator='0x09',rowterminator='\n',MAXERRORS=0,ERRORFILE='C:\temp\dataload\load_file') Msg 486

  • 问题内容: 在我的代码中,用户可以上传一个excel文档,希望其中包含电话联系人列表。作为开发人员,我应阅读excel文件,将其转换为dataTable并将其插入数据库。问题是某些客户拥有大量的联系人,例如说5000个和更多的联系人,而当我尝试将这种数据量插入数据库时​​,它崩溃了,并给了我一个超时异常。避免这种异常的最佳方法是什么?它们的任何代码都可以减少insert语句的时间,从而使用户不必等

  • 我正在使用大容量插入将文本文件读入SQL Server表。当我尝试使用bulk insert时,我总是会遇到同样的错误,尽管如果我取文本文件的第一行,并将值复制到一个普通的旧insert into语句中,一切都正常。我的数据库stop_times的设置如下: 但是,将第一行复制并粘贴到 管用。我觉得我在大容量插入函数中遗漏了一些非常明显的东西,但我一无所知。