SQL列数据中的空格...消息4863,级别16,状态1,行1

时间:2015-01-15 13:51:21

标签: sql-server bulkinsert binary-data sqldatatypes

我正在尝试执行以下批量插入:

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?)。或者是否需要使用特定的参数来允许空格字符?

1 个答案:

答案 0 :(得分:0)

我在这里完全抓住吸管,但是bcp和二进制列似乎存在问题。我记得在某处看过bulkinsert在后台使用bcp,所以也许这对你也有用。

修复是指定导入的格式文件。

SQL Server BCP export corrupted file?

希望有所帮助