每当我尝试将CSV文件导入到具有多个列的sql server中时,我都会收到错误(嗯,没有导入任何内容)。我知道文件终止正常,因为如果我修改文件和表,它可以使用1列ok。我限制行,所以它永远不会到达终点,行终止符是正确的有效行(也可以通过只有1列时的工作来显示)。
我得到的就是这个而且没有错误
0 rows affected
我还检查了所有其他类似的问题,它们都指向文件或行终止符的错误结尾,但一切都很好......
我试过引号而没有引号。例如,我有一个包含2列varchar(max)的表。 我跑:
bulk insert mytable from 'file.csv' WITH (FIRSTROW=2,lastrow=4,rowterminator='\n')
我的示例文件是:
name,status
TEST00040697,OK
TEST00042142,OK
TEST00042782,OK
TEST00043431,BT
如果我删除一列然后删除csv中的第二列,确保它具有相同的行终止符\ n,它可以正常工作。
我也尝试过指定'errorfile'参数但它似乎永远不会写任何内容甚至创建文件。
答案 0 :(得分:0)
嗯,那令人尴尬。
其中的SQL Server智慧是使用\ t作为CSV文件的默认字段终止符,但我想当文档说'FORMAT ='CSV'时,它是一个示例,而不是默认值。
如果它只产生了实际正确和有用的错误信息......