我试图使用批量插入将 CSV 文件导入 SQL Server。
现在我反复收到一个错误
批量加载失败。数据文件中第 1 行第 6 列的列太长。请验证是否正确指定了字段终止符和行终止符。
但是,首先我运行了一些使用正则表达式删除所有不可打印字符并在每行末尾显式放置“\n”的java代码(并将整个数据插入到一个新文件中)。但即使在此之后,导入也会出现上述错误。
但是,我在 Textpad 中打开文件,发现它被保存为“Unix”文件——我只是将其更改为“Windows”文件格式,然后保存了它——然后导入工作!
我想知道的是 Unix 和 Windows 文件格式之间的区别,这样我就可以在我的 java 代码本身中处理这个问题,而不是打开 Unix 文件并以 Windows 文件格式再次保存它。
编辑 -
这是给出上述错误的代码---
BULK INSERT GooglePatentsIndividualDec2012.dbo.patent
FROM 'C:\Arvind_gpd\patents\4patents_corrected.csv'
WITH
(
DATAFILETYPE = 'char',
FIELDTERMINATOR = '^',
ROWTERMINATOR = '\n'
);