在从csv文件批量插入期间,文件中的行具有00000100008
值,两个源(从中创建csv文件)和目标 temptable
都有相同的字段(char(11))。
当我尝试插入时出现以下错误:
Bulk load data conversion error (truncation) for row 1, column 1 (fieldname)
如果我删除了前导0并将此值更改为csv文件中的100008
,然后批量插入,则目标表 temptable
会显示插入'++ 100008
值。这是为什么?如何在不领先双加标志的情况下应对价值?
这是脚本:
BULK
INSERT temptable
FROM 'c:\TestFile.csv'
WITH
(
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n'
)
GO
编辑:来自csv文件的一些示例记录。
100008,111122223333,Mr,ForeName1,SurName1,1 Test Lane,London,NULL,NULL,NULL,wd25 123,test@email.com.com,NULL
322,910315715845,Ms,G,Dally,17 Elsie Street,NULL,NULL,GOOLE,NULL,DN146DU,test1@email1.com,
323,910517288401,Mrs,G,Tom,2 White Mead,NULL,NULL,YEOVIL,NULL,BA213RS,test3@tmail2.com,
答案 0 :(得分:0)
我的第一个想法是该文件保存在Unix系统上,并且您可能与不同的样式换行符不兼容。 我的第一个建议是使用十六进制编辑器分析文本文件,以尝试确定放在那里的字符。
++ 100008基本上意味着 - 行格式与页眉不一致。要解决此问题,请运行dbcc checktable。
我希望这会对你有所帮助。
此致