这是我的表定义:
CREATE TABLE BillTexts
(
SessionNum INT,
Name VARCHAR(200),
Part INT,
BillText VARCHAR(MAX)
)
以下是我用于批量插入的代码。我使用了时髦的分隔符来确保billtext
列中的内容没有冲突(逗号,换行符)。
BULK INSERT BillTexts
FROM texts.csv
WITH (
DATAFILETYPE = 'char',
FIELDTERMINATOR = '¬',
ROWTERMINATOR = '[]{}\r\n'
)
这是我的文本文件的前几行。
112¬hconres1¬1¬"A whole bunch of text"[]{}
112¬hconres1¬2¬"Another whole bunch of text"[]{}
在每一行(包括第1行到第10行),我都会收到错误
第1行第1列(SessionNum)的批量加载数据转换错误(指定代码页的类型不匹配或无效字符)
批量加载数据转换错误(类型不匹配或无效字符 对于第2行,第1列(SessionNum)
的指定代码页
老实说,我不知道为什么它没有插入。据我所知,这是我可以将这些数据输入表中的唯一方法(有很多)。
答案 0 :(得分:2)
我没有答案,但我有一线攻击:将其分解为更小的问题。
从一组仅包含5行数据的数据开始。如果仍然失败,请将其分为5行,每列1行 - 这将测试您的行分隔符。然后,重新添加第二列,以测试列分隔符。接下来,添加除" blob"之外的所有内容。列,测试,然后重新添加blob。可能只将blob作为单个数据集加载,看看它是如何工作的。
请注意,您需要为上述所有内容创建特定的测试表。
从多个角度来看问题应该有助于缩小正在发生的事情 - 什么有效,什么无效。 (文件是单字节,不是双字节,对吗?)