以下は、挿入を実行するために使用される SQL コードです。
use Acs_DataStocks
BULK
INSERT [dbo].[AcsBy520072011Pus]
FROM 'D:\temp\ACS\ss11pusd_fixed.csv'
WITH
(
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n',
KEEPNULLS
)
GO
SQL Server Management Studio で報告されるエラーは次のとおりです。
メッセージ 4866、レベル 16、状態 1、行 32 一括読み込みに失敗しました。データ ファイルの行 3649556、列 156 の列が長すぎます。フィールド ターミネータと行ターミネータが正しく指定されていることを確認してください。
メッセージ 7399、レベル 16、状態 1、行 32 リンク サーバー "(null)" の OLE DB プロバイダー "BULK" がエラーを報告しました。プロバイダーは、エラーに関する情報を提供しませんでした。
メッセージ 7330、レベル 16、状態 2、行 32 リンク サーバー "(null)" の OLE DB プロバイダー "BULK" から行をフェッチできません。
以下は、問題のあるデータ セットの行番号 3649556 です。
2010000576537,P,01,02004,55,1039407,00021,56,1,1,,,2,,,000000,,,11,2,3,1,5,,,,,,,,,, ,3,5,3,3,3,000000,00000,00,000000,1,,11,000000,2,00000,00000,020400,40,1,1,,2,142,032,,,,1,01, ,,,,,4,1,,0,4,000020400,000020400,055,228,02000,055,1,1,01,69,0,0,0,0,1,0,1,0,,, ,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,00022,00007,00037,00037,00022 ,00021,00024,00006,00024,00037,00020,00035,00039,00007,00021,00007,00024,00022,00006,00021,00021,00006,00036,00038,00020,00020,00023,00005,00022,00037 、00021,00035,00036,00006,00020,00006,000222021,00006,00021,00021,006,00038,00034,00022,0002221,00006,00024,00039,00020,00035,00037,007,00020 、00007,00021,00023,00006,0002222222,006,00036,00039,00021,00022222222222222222222222222222222222222222222222222222222222222222222222225,8,00038,00007,00020,006,00021,00023,006,00021 ,な,な////,な,な//,3500,292061,8170,6216
表示されているデータ フィールドの値は "00024" です。テーブルは varchar(50) フィールドのみで作成されました。このエラーは再現可能ですが、説明されていません。どうしてこれなの?