我有一个CSV文件,字段分隔符为'~:-',行分隔符为'%^('。当我执行批量插入查询时,如下
插入查询:
"BULK INSERT SAMPLETABLE FROM sample.csv WITH (FIELDTERMINATOR = '~:-',ROWTERMINATOR = '!^(',ERRORFILE = 'C:/log/error.log',KEEPIDENTITY, KEEPNULLS,FIRSTROW = 2, DATAFILETYPE='widechar')".
我得到SQLException:大容量加载:在数据文件中遇到意外的文件结尾。
我确定文件结尾不是"\n"。其他正在工作的表没有以"\n"结尾。
即使在SQL查询中启用了ERRORFILE选项,我也没有看到抛出SQLException时创建的error.log文件。
最后,找到了根本原因,我正在进行从旧版本数据库到新版本的数据迁移。发现在更新的表中有一个模式更改,因此我得到了SQLException。具有讽刺意味的是,抛出的Exception并没有明确指示Schema的更改。