MonetDB-使用特殊字符复制到大容量插入



我正在使用COPY INTO将一些数据大容量插入MonetDB。我从中复制的csv在一些字符串字段中有一些特殊字符,如,它破坏了插入。我得到的错误是:

未能导入表第1行字段11"此处数据"中应为"clob"

当我用/替换时,它工作得很好,我认为问题与Java有关,因为用作转义符,但我不确定!

这是我用于批量装载的命令:

COPY INTO line : copy into dbtest.dbo.table3 from '/home/etltest/out.csv' using delimiters ';','n','"';

这是一个示例行:

"452475";"0047748";"002";"2014-01-01 00:16:00.000";"2";"2014-01-01 00:16:16.090";"1";"1";"0";"testfile.xml";"~/uploads/Su/F004774820141";"3d67502‌​e-94ed-4e3d";"2014-01-01 00:15:25.283" 

我找到了一个解决方案,使用SQL中的REPLACE函数将替换为/,但在处理数百万行时,这是一个过于繁重的处理函数

为什么会发生这种情况?有没有办法取代

没错,'\'是一个转义符。若要修复导入错误,您需要将其加倍。将csv文件中出现的所有"\"替换为"\"。

使用REPLACE SQL函数执行此操作将耗资巨大。如果可能的话,直接在CSV文件中双击"\",或者更改生成CSV文件的工具来处理此问题。

相关内容

  • 没有找到相关文章

最新更新