0

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

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'
);

我得到:

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

奇怪的是,我将批量插入与逗号分隔的文本文件一起使用,效果很好,所以我认为这不是权限错误。

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

4

0 回答 0