批量插入列太长

时间:2012-12-10 19:57:43

标签: sql-server bulkinsert bcp

我有一个固定长度数据的文本文件。这是我的表:

create table myBulkInsert(
MaxData Varchar(Max)
)

x.fmt包含:

10.0
1
1       SQLCHAR             8       0       ""   1     MaxData                SQL_Latin1_General_CP1_CI_AS

当我发出以下内容时:

bulk insert myBulkInsert
from 'C:\inetpub\ftproot\TextFile.txt'
WITH (
    FORMATFILE = 'C:\inetpub\ftproot\Client.fmt'
);

我明白了:

  

Msg 4866,Level 16,State 17,Line 1批量加载失败。专栏   在第1行第1列的数据文件中太长。验证是否   字段终止符和行终止符是正确指定的。消息7399,   级别16,状态1,行1 OLE DB提供程序“BULK”用于链接服务器   “(null)”报告错误。提供商没有提供任何信息   关于错误。消息7330,级别16,状态2,行1无法获取   来自OLE DB提供程序“BULK”的行,用于链接服务器“(null)”。

奇怪的是,我正在使用带有逗号分隔文本文件的批量插入,它运行良好,所以我认为这不是权限错误。

我将其作为具有最大值的1字段的原因是为了简化示例。 一旦我将这个1字段工作,我将更改布局以包括所有字段及其长度。

0 个答案:

没有答案