1

MySQLからSQLServerにテーブルをコピーしたい。

MySQL接続を使用するADO.NETソース。

OLE DB変換先、SQLServer。

声明は完全なコピーなので、大したことはありません。再生ボタンを押すと、しばらくするとエラーが表示されます。DataViewerを設定し、DataViewerを確認しながら、DataFlow内から実行して最初からやり直しました。しばらくすると(今回は時間がかかりました)、エラーが発生しました。

ここに画像の説明を入力してください

エラー:0xC02090F5、データフロータスク、ADO NETソース1:コンポーネント "ADO NETソース"(1)はデータを処理できませんでした。データの読み取り中に致命的なエラーが発生しました。
エラー:0xC0047038、データフロータスク、SSIS.Pipeline:SSISエラーコードDTS_E_PRIMEOUTPUTFAILED。コンポーネント「ADONETSource」(1)のPrimeOutputメソッドは、エラーコード0xC02090F5を返しました。パイプラインエンジンがPrimeOutput()を呼び出したときに、コンポーネントが失敗コードを返しました。失敗コードの意味はコンポーネントによって定義されますが、エラーは致命的であり、パイプラインは実行を停止しました。この前に、障害に関する詳細情報を含むエラーメッセージが投稿される場合があります。

このエラーについて何か考えはありますか?

4

1 に答える 1

6

これは私が理解するのに数日かかりました...それで私は私のメモを共有すると思いました


MySQLからSQLServerに接続してデータをロードする方法

1-32ビットODBCドライバーをダウンロードします。MySQL Webサイトにアクセスして、「mysql-connector-odbc-5.2.4-ansi-win32.msi」をダウンロードします。注:BIDS2008では64ビットドライバーを使用しないでください。BIDS2008は32ビットです。SSISの接続マネージャーを作成するときに不一致エラーが発生します:「指定されたDSNにはドライバーとアプリケーション間のアーキテクチャの不一致が含まれています」</ p>

2-ユーザーDSNを作成するWindows32ODBC管理ツールを使用して開く必要があります。コントロールパネルで通常のODBC管理者を開かないでください。c:\ Windows \ SysWOW64\odbcad32.exeにあるODBC管理者を開きます。デフォルトのODBC管理者を使用する場合…それは機能しません。さらに、システムDSNではなく「ユーザーDSN」を作成する必要があります。そうしないと、SSISに表示されません。注:画面は同じように見えるため、32ビットODBC管理ツールを使用しているかどうかを知る方法はありません。

3 –新しいSSISパッケージを作成し、ADO.NET接続マネージャーとADO.NETSQLServerの宛先を作成します。

4 –ソースADO.NETプロパティを変更します。検証エラーが発生し、パッケージは実行されません。ADO.NETソースの「ValidateExternalMetadata」を(「AdvancedEditor」ダイアログボックスで)FALSEに変更する必要があります。メタデータエラーも表示されます…それで問題ありません…「OK」をクリックするだけです。メタデータ(列名/データ型)は引き続き取得されます。SQLServerの場合のようにテーブルを選択することはできません。SQLselectステートメントを入力する必要があります。

5-パッケージを実行すると、正常に実行およびロードされます。

于 2013-04-29T23:36:45.817 に答える