使用批量插入将文本文件导入SQL Server

时间:2013-01-23 09:29:36

标签: sql-server bulk-import

这是我的sql

BULK INSERT dbo.Account FROM 'G:\Import\Account3.txt'
WITH
(
    FIELDTERMINATOR = '" | "'
)
GO

当我运行sql时出现此错误

  

Msg 4866,Level 16,State 1,Line 1
  批量加载失败。

第1行第1列的数据文件中的列太长。验证是否正确指定了字段终止符和行终止符。

  

Msg 7399,Level 16,State 1,Line 1
  链接服务器“(null)”的OLE DB提供程序“BULK”报告错误。提供商没有提供有关错误的任何信息。

     

Msg 7330,Level 16,State 2,Line 1
  无法从OLE DB提供程序“BULK”获取链接服务器“(null)”。

的行

请帮帮我。我已经尝试过很多方法,但仍然会遇到同样的错误。

2 个答案:

答案 0 :(得分:2)

从您的示例SQL中,您似乎缺少一个ROWTERMINATOR语句,指定了如何区分行。

您的查询将变为类似

BULK INSERT dbo.Account FROM 'G:\Import\Account3.txt'
WITH
(
FIELDTERMINATOR = '" | "',
ROWTERMINATOR = '\r\n'
)
GO

答案 1 :(得分:-1)

试试这个

BULK
INSERT dbo.Account 
FROM 'G:\Import\Account3.txt'
WITH
(
FIELDTERMINATOR = '|',
ROWTERMINATOR = '\n'
)
GO