2

SSIS インポート/エクスポート ウィザードを使用して、SQL サーバーから Excel にテーブルをエクスポートしています。続行ステップで、型の変換に関する各レコードに警告アイコンが表示されます。無視すると、最後の画面で [完了] をクリックした後にエクスポートが失敗します。

これに関してStack Overflowで検索しましたが、関連する回答が得られません...

SQL テーブルのフィールドとそのタイプは次のとおりです。

CREATE SomeTable
(
    EmpId numeric(9)
,   Name varchar(50)
,   Address varchar(50)
,   ContactNo varchar(50)
);

来るエラーは以下に書かれています

tblSSISFlatImport(エラー) メッセージへのコピーエラー 0xc0202009: データ フロー タスク 1: SSIS エラー コード DTS_E_OLEDBERROR。OLE DB エラーが発生しました。エラー コード: 0x80004005。(SQL Server インポートおよびエクスポート ウィザード) エラー 0xc0209029: データ フロー タスク 1: SSIS エラー コード DTS_E_INDUCEDTRANSFORMFAILUREONERROR。エラー コード 0xC020907B が発生したため、「input "Destination Input" (39)」が失敗し、「input "Destination Input" (39)」のエラー行の処理がエラー時の失敗を示しています。指定されたコンポーネントの指定されたオブジェクトでエラーが発生しました。これより前に、失敗に関する詳細情報を含むエラー メッセージが投稿される場合があります。(SQL Server インポートおよびエクスポート ウィザード)

エラー 0xc0047022: データ フロー タスク 1: SSIS エラー コード DTS_E_PROCESSINPUTFAILED. コンポーネント「Destination - tblSSISFlatImport」(28) の ProcessInput メソッドは、入力「Destination Input」(39) の処理中にエラー コード 0xC0209029 で失敗しました。識別されたコンポーネントが ProcessInput メソッドからエラーを返しました。エラーはコンポーネントに固有のものですが、エラーは致命的であり、データ フロー タスクの実行が停止します。これより前に、失敗に関する詳細情報を含むエラー メッセージが投稿される場合があります。(SQL Server インポートおよびエクスポート ウィザード)

4

1 に答える 1

2

このエラーは以前にも見たことがありますが、いくつかの原因が考えられます。

1) SQL Server から Excel に変換するために、Data Conversion Transformation Editor で、フィールド Name、Address、および ContactNo のデータ型が「長さ 50 の Unicode 文字列 [DT_WSTR]」に設定されていることを確認します。

2) サーバーで作業している場合は、Run64BitRuntime が True に設定されていることを確認します (それ以外の場合は False に設定します)。これは、パッケージ名 (ウィンドウの右側にあるソリューション エクスプローラーの最初の項目) を右クリックし、プロパティを選択してから、[構成プロパティ] の下の [デバッグ] で確認できます。

3) [データ フロー] タブで、ソース OLE DB アイテムをダブルクリックし、[接続マネージャー] を選択し、下部にある [プレビュー] を選択して値が取得されていることを確認します。データを正しくプルしていない可能性があり、それが変換ステップから外れている可能性があります。

4) 最後に、データ変換入力とデータ変換出力の設定を比較します。これを行うには、データ変換タスクを選択し、[プロパティ] の下の [高度なエディターを表示] のハイパーリンクを選択します。ウィンドウが開いたら、[入力と出力のプロパティ] タブを選択します。左ペインで、[入力列] フォルダーと [出力列] フォルダーを展開して、3 つのフィールドを表示します。フィールドを選択すると、プロパティを表示できます。長さが正しく、データ型プロパティが正しく定義されていることを確認してください。前述のように、それぞれの出力は、長さが 50 の "Unicoce string [DT_WSTR]" である必要があります。

お役に立てれば。

于 2012-12-14T23:04:02.727 に答える