3

CSV ファイルを既存のデータベースにインポートすると、いくつかのエラーが発生します

  • 実行中 (エラー) メッセージ エラー 0xc02020a1: データ フロー タスク 1: データ変換に失敗しました。列「スーパーバイザー」のデータ変換で、ステータス値 4 とステータス テキスト「テキストが切り詰められたか、ターゲット コード ページで一致する文字が 1 つ以上ありませんでした。」が返されました。(SQL Server インポートおよびエクスポート ウィザード)

エラー 0xc020902a: データ フロー タスク 1: 「ソース - loc800members_csv.Outputs[フラット ファイル ソース出力].Columns[スーパーバイザー]」は、切り捨てが発生したため失敗し、「ソース - loc800members_csv.Outputs[フラット ファイル ソース出力] .Columns[supervisor]" は切り捨ての失敗を指定します。指定されたコンポーネントの指定されたオブジェクトで切り捨てエラーが発生しました。(SQL Server インポートおよびエクスポート ウィザード)

エラー 0xc0202092: データ フロー タスク 1: データ行 83 のファイル "C:\Users\administrator.WDS\Desktop\loc800members.csv" の処理中にエラーが発生しました。 (SQL Server インポートおよびエクスポート ウィザード)

エラー 0xc0047038: データ フロー タスク 1: SSIS エラー コード DTS_E_PRIMEOUTPUTFAILED. ソースの PrimeOutput メソッド - loc800members_csv がエラー コード 0xC0202092 を返しました。パイプライン エンジンが PrimeOutput() を呼び出したときに、コンポーネントがエラー コードを返しました。エラー コードの意味はコンポーネントによって定義されますが、エラーは致命的であり、パイプラインは実行を停止しました。これより前に、失敗に関する詳細情報を含むエラー メッセージが投稿される場合があります。(SQL Server インポートおよびエクスポート ウィザード)

これは、インポートしているテーブルのサンプルです。

http://i.imgur.com/4zsJqgI.jpg

スーパーバイザー フィールドのプロパティは次のとおりです。

http://i.imgur.com/r5EonQc.jpg

インポート先のテーブルの列は次のとおりです。

i.imgur.com/mD5KlCC.jpg

4

2 に答える 2

3

一見すると、データベース内のフィールドは、インポートしようとしているデータをサポートするのに十分な長さではありません。データを短くするか、(おそらくより理想的には) データベース内のフィールドのサイズを大きくする必要があります。「スーパーバイザー」列から来ているようです (ただし、他の列を再確認して、他の場所でも発生していないことを確認することをお勧めします)。

一言で言えば、何が起こっているのかというと、すべてをそのままインポートしようとしていて、最終的に csv ファイル内のフィールドが長すぎて適切にコピーできないということです。残りのデータを切り取る (切り捨てる) 代わりに、エラーをスローして事実上あきらめています。データベースのフィールドは、サイズが設定された varchar または nvarchar 型であると推測しています。データベース内でこれのサイズをジャンプしてデータを取り込むことができるはずです。関連するストアド プロシージャも変更する必要がある場合があるため (存在する場合)、そこでデータが切り捨てられないようにします。

于 2015-01-07T19:22:16.927 に答える