我有一个非常简单的CSV文件(分隔符; Notepad ++说CR LF作为行分隔符; UCS-2 Little Endian),我需要每天将其导入SQL。 我现在花了整整一天时间使BULK INSERT或OPENROWSET正常工作,但我一直失败
BULK INSERT tt_MaterialSAPx
FROM '\\192.168.89.22\LandingZone\MAT.csv'
WITH (FIRSTROW = 2
,LASTROW = 5
--,DATAFILETYPE='native'
, FIELDTERMINator = ';'
,ROWTERMINATOR = '\r'
--,Formatfile = '\\192.168.89.22\LandingZone\formatfile.fmt'
)
BULK插入代码(如果将行终止符设置为\ r \ n,则根本不会导入)无法正确读取字符(基本上是每个字符之间的“空白”-UTF16与UFT-8? )。此外,如果我通过“批量加载:在数据文件中遇到意外的文件结尾”将LASTROW = 5取出,它将失败。
SELECT * FROM OPENROWSET(
BULK '\\192.168.89.22\LandingZone\MAT8.csv'
, SINGLE_CLOB
--,Formatfile = '\\192.168.89.22\LandingZone\formatfile.fmt'
) AS DATA
这会将所有数据粘贴到第一列和第一行(因此忽略字段和行终止符
完全沮丧:我想念什么?还是有第三种方法可以解决这个问题?