2

SQL Server 2008 R2 テーブルからそのテーブルの MySQL バージョンにデータをエクスポートするように SSIS パッケージをセットアップしました。パッケージは実行されますが、行の約 1% がエクスポートに失敗しています。

ソース接続で SQL ステートメントを使用している

SELECT * FROM テーブル 1

列はすべて整数です。正常にエクスポートされる行の例は次のとおりです。

2169,2680,3532,NULL,2169

失敗した行と比較して

2168,2679,3532,ヌル, 2168

私が確認できる事実上、違いはありません。

特に、ソースクエリを変更して、失敗した単一の行の転送のみを試行するとします。

SELECT * FROM Table1 WHERE ID = 2168

その後、レコードは正常にエクスポートされます。失敗するのは、複数の行を返す選択の一部である場合のみです。毎回同じ行がエクスポートに失敗します。エラー行をテキスト ファイルにリダイレクトしました。このファイルには、失敗した行の -1071610801 エラーが表示されます。これは明らかに次のように変換されます:-

DTS_E_ADODESTERRORUPDATEROW: "この行を宛先データ ソースに送信中にエラーが発生しました。"

これは、問題の私の理解にあまり追加されません!

ロックの問題があるのか​​、特定の行が正しくフェッチまたは挿入されないのか疑問に思っています。私は現在、完全に途方に暮れています...

4

2 に答える 2

0

頭を悩ませて回避策をすべて試した後、私はついにこれに対する解決策を見つけました。

結局、MySql用のdevArt -dotConnectによって生成された別のドライバー用にMySQLコネクターを切り替えました。いくつかのマイナーな例外(解決できると思います)を除いて、すべてのデータがエラーなしでエクスポートされています。

ドライバーは残念ながら有料の製品ですが、最終的には新しい住宅ローンを借りて、これらすべてのタスクがグリーンになるのを確認しました。

于 2012-01-12T10:30:05.280 に答える
0

mysql (ADO.NET) の宛先でより長いタイムアウト (1 日) を設定してみてください。

于 2012-01-04T00:04:43.773 に答える