我正在尝试执行以下批量插入:
BULK INSERT DATABASE.TABLE FROM 'C:\local\output\TESTFILE.txt' WITH (FIELDTERMINATOR = ';', ROWTERMINATOR = '\n').
收到以下错误:
Msg 4863,Level 16,State 1,Line 1
第1行第2列(BinaryString)的批量加载数据转换错误(截断)。
TESTFILE.txt的全部内容如下:
/STR_8.YOU.Test ; 1C 48 D0 00
注意:当我删除二进制数据之间的空格时,它看起来像
/STR_8.YOU.Test ; 1C48D000
它运作得很好。
My TABLE中有以下两列:
IDString varchar(50)
BinaryString varbinary(MAX)
是否有特定的数据类型不仅要考虑二进制字符串,还要考虑空格字符?我尝试使用所有合理的数据类型来包括varchar(MAX),varbinary(MAX),image(替代BLOB?)。或者是否需要使用特定的参数来允许空格字符?
答案 0 :(得分:0)
我在这里完全抓住吸管,但是bcp和二进制列似乎存在问题。我记得在某处看过bulkinsert在后台使用bcp,所以也许这对你也有用。
修复是指定导入的格式文件。
SQL Server BCP export corrupted file?
希望有所帮助