このエラーは以前にも見たことがありますが、手動で値を入力することで回避できましたが、それは 4 行の場合で、今回は 100 行以上でこのエラーが発生します。
問題は、それと呼ばれるこの列Shipto
には、1 桁の数字、2 桁の数字、または単語の 3 つのいずれかが含まれることAll
です。インポートは 1 桁と 2 桁の数字に対しては問題なく機能しますが、インポートすると次のAll
エラーが発生します。
[SSIS.Pipeline] エラー: SSIS エラー コード DTS_E_PROCESSINPUTFAILED。コンポーネント "OLE DB Destination" (162) の ProcessInput メソッドは、入力 "OLE DB Destination Input" (175) の処理中にエラー コード 0xC0202009 で失敗しました。識別されたコンポーネントが ProcessInput メソッドからエラーを返しました。エラーはコンポーネントに固有のものですが、エラーは致命的であり、データ フロー タスクの実行が停止します。これより前に、失敗に関する詳細情報を含むエラー メッセージが投稿される場合があります。
このパッケージは、あるテーブルから値を取得し、別のテーブルに挿入します。値を取得するテーブルを確認しましたが、列shipto
が null ではありません。
唯一の違いは、2 つのテーブルの構造にあります。一時テーブルでは、実際のテーブルでは許可されていないその列で null が許可されます。両方のテーブルには、列がvarchar(20)
.
このためのデータ フローに、次のようなチェック ボックスがあることに気付きましたcheck constraints
。これをオフにすると、その問題は解決しますか? 列が null ではないためです。
ご協力いただきありがとうございます。必要な追加情報があれば投稿します。ありがとうございました。