1. ホーム
  2. sql

[解決済み】一括読み込みデータ変換エラー(切り捨て)

2022-02-23 10:31:59

質問内容

このようなエラーが発生します。

Bulk load data conversion error (truncation) for row 1, column 12 (is_download)

これがcsvです...1行しかありません。

30,Bill,Worthy,sales,,709888499,[email protected],,"Im a a people person., to work together for this new emerging env.HTTP://applesoftware.com","Bill and Son of Co","Contact Us: Contact Form",0

以下は、私の一括挿入文です...

SE SalesLogix
GO

CREATE TABLE CSVTemp
(id INT,
firstname VARCHAR(255),
lastname VARCHAR(255),
department VARCHAR(255),
architecture VARCHAR(255),
phone VARCHAR(255),
email VARCHAR(255),
download VARCHAR(255),
comments VARCHAR(MAX),
company VARCHAR(255),
location VARCHAR(255),
is_download VARCHAR(255)
)
GO

BULK
INSERT CSVTemp
FROM 'c:\leads\leads.csv'
WITH
(
DATAFILETYPE = 'char', 
BATCHSIZE = 50, 
FIELDTERMINATOR = ',', 
ROWTERMINATOR = '\n' 
)
GO
--Check the content of the table.
SELECT *
FROM CSVTemp
GO

問題は、ほとんどの場合うまくいくのですが、ある状況(そのうちの1つ)では、次のようなエラーが発生することです。

このレコードにこのエラーが発生する原因について、何か思い当たることはありますか?

解決方法を教えてください。

コメント欄内のカンマをデリミターとして拾っているのは、デリミターが統一されていないためです。最良の解決策は、すべてのフィールドをダブルクォーテーションで囲み、その中に FIELDTERMINATOR から '","' . あるいは、カンマをコメントにありそうもないものに置き換えてください(たとえば ~ を設定し FIELDTERMINATOR = '~' .