我有一个18GB的平面文件(40,000,000条记录),固定列宽(没有字段终止符),我想读入SQL Server 2008 R2表。除了带有数据的文本文件之外,还给我一个带有字段名称和长度的Excel文档。有270个字段,每个记录(每行)总共有465个字符。使用bcp我创建了一个fmt文件,这对我来说看起来很好。无法导入大型平板文件到SQL Server 2008表
10.0
270
1 SQLCHAR 2 1 "" 1 TitleCode SQL_Latin1_General_CP1_CI_AS
2 SQLCHAR 2 12 "" 2 FamilyID SQL_Latin1_General_CP1_CI_AS
3 SQLCHAR 2 12 "" 3 LocationID SQL_Latin1_General_CP1_CI_AS
等
在SQL Server我想用这个FMT文件中读取数据到表:从SQL Server
BULK INSERT dbo.Customer2_noId
FROM 'C:\Uploads\dataFile_MICX\dataFile_MICX_Copy.txt'
WITH (FORMATFILE = 'C:\Users\kriss\SqlScripts\Customer2_noId-n.fmt');
GO
错误消息:
Msg 4866,Level 16,State 7,Line 1
T他批量加载失败。第1行的数据文件中列 太长。第1列为 。验证字段 终止符和行终止符是否正确指定为 。
消息7399,级别16,状态1,行
OLE DB提供程序 “BULK” 为链接 服务器 “(空)” 报告错误。 供应商没有给出关于错误的任何信息 。
消息7330,级别16,状态2,行1
无法获取来自OLE DB提供 “BULK” 链接服务器 “(空)” 一行。
我曾试图改变申请终止最后一个字段为“\ r”和“\ r \ n”个 我试图在底部增加一个额外的字段:
271 SQLCHAR 0 0 "\r\n" 271 dummy SQL_Latin1_General_CP1_CI_AS
不做区别。
我一直没能找到任何有帮助的行。 (建议使用fmt文件中的额外空白行,但这并不能解决问题,我认为数据文件有行终止符,因为如果我使用Excel数据导入工具,我会看到长度一致的行。 ?帮助 谢谢,KRISS
如果您发布的是代码或XML,**请**在文本编辑器中突出显示这些行,然后单击编辑器工具栏上的“代码”按钮(101 010)以更好地格式化和语法突出显示它! – 2010-09-28 07:15:55