0

我有 4GB 文件并尝试使用以下脚本将数据加载到表中。它引发了以下错误。请提出可能的原因。

文件大小:4GB 文件中的列数:329

表有 329 列,每列都有 varchar(1000)。

BULK
INSERT npi_db
FROM 'c:\data_20050523-20121008.csv'
WITH
(
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n'
)

但我得到:

The bulk load failed. The column is too long in the data file for row 1, 
column 329. Verify that the field terminator and row terminator are specified correctly.
4

1 回答 1

0

您似乎没有将数据拉入现有表(是npi_db数据库还是表?)。我建议您首先创建一个与 .csv 格式相同的有效表格。这将避免您遇到的问题,这似乎是批量插入不知道 .csv 值被拉入的数据类型。首先创建正确的表

CREATE TABLE CSVTest
(ID INT,
FirstName VARCHAR(40),
LastName VARCHAR(40),
BirthDate SMALLDATETIME);
GO

导入如下

BULK
INSERT inventory.dbo.fruits
FROM 'C:\fruit\inventory.txt' 
WITH
(
    FIELDTERMINATOR = ',',
    ROWTERMINATOR = '\n'
);
GO 

您还可以查看使用 SQL Server 的BCP加载文件。使用此实用程序,您可以使用格式文件 (.fmt)指定数据的格式。

有关您想要的更多信息,请参阅使用 bcp 将 csv 文件导入 sql 2005 或 2008 ...

我希望这有帮助。

于 2012-12-06T09:12:24.670 回答