我有一个带有固定长度数据的文本文件。这是我的桌子:
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 个字段工作,我将更改布局以包括所有字段及其长度。