错误列表
Msg 4866,Level 16,State 7,Line 2
批量加载失败。第1行第1列的数据文件中的列太长。 验证是否正确指定了字段终止符和行终止符。Msg 7399,Level 16,State 1,Line 2
链接服务器“(null)”的OLE DB提供程序“BULK”报告错误。 提供商没有提供有关错误的任何信息。Msg 7330,Level 16,State 2,Line 2
的行
无法从OLE DB提供程序“BULK”获取链接服务器“(null)”。
fmt文件
9.0
10
1 SQLCHAR 2 50 "," 2 EmployeeSSN SQL_Latin1_General_CP1_CI_AS
2 SQLCHAR 2 50 "," 3 DOB SQL_Latin1_General_CP1_CI_AS
3 SQLCHAR 2 50 "," 4 Gender SQL_Latin1_General_CP1_CI_AS
4 SQLCHAR 2 50 "," 5 Relcode SQL_Latin1_General_CP1_CI_AS
5 SQLCHAR 2 50 "," 6 EmployeeID SQL_Latin1_General_CP1_CI_AS
6 SQLCHAR 2 50 "," 7 AssessmentType SQL_Latin1_General_CP1_CI_AS
7 SQLCHAR 2 50 "," 8 MeasurementDate SQL_Latin1_General_CP1_CI_AS
8 SQLCHAR 2 50 "," 9 RecordCreationDate SQL_Latin1_General_CP1_CI_AS
9 SQLCHAR 2 50 "," 10 AttributeID SQL_Latin1_General_CP1_CI_AS
10 SQLCHAR 2 50 "/r/n" 11 AttributeValue SQL_Latin1_General_CP1_CI_AS
批量插入代码
BULK insert *******_raw_data
from 'E:\*****_csv\BWC_To_*****_2.csv'
with (formatfile = 'c:\*******_raw_data-n.fmt');
来自csv的第一行
NULL,07/14/1983,F,S,105***,HRA,09/28/2011,09/28/2011,19,1
我试图弄清楚我在哪里出错了......我已经得到了其他文件但是这个文件没有成功。我的代码中的文件名称是正确的,因为它们是公司名称
答案 0 :(得分:1)
第一个错误: Msg 4866,Level 16,State 7,Line 2 批量加载失败。第1行第1列的数据文件中的列太长。验证是否正确指定了字段终止符和行终止符。
这是NULL或行终止符的问题。 该行的最后一个终结符可能不是“/ r / n”,它可能是“/ n”。最好使用十六进制编辑器确认。
第二和第三错误: 这些都看起来像一个NULL问题。
在BULK INSERT中处理空值的正确方法是指定KEEPNULLS选项。
with (formatfile = 'c:\*******_raw_data-n.fmt',KEEPNULLS);
使用空字段为NULL值创建csv文件。
,07/14/1983,F,S,105***,HRA,09/28/2011,09/28/2011,19,1