0

I have 4GB file and trying to load the data into table using below script. It's raising the below error. Please suggest possible causes.

File size: 4GB columns in the file: 329

table having 329 columns, every column having varchar(1000).

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

but I am getting:

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 に答える