2012-01-03 8 views
2

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

マイソース接続は、表1

FROM SQL文

SELECT *を使用して、すべての列は整数です。正常にエクスポートされた行の例は

2169,2680、3532、NULL、NULLであり、

2168,2679,3532を失敗行に比べ

2169、2168

私が確かめることのできるものと事実上異なるものはありません。

特に、ソースクエリが1つの失敗した行の転送のみを試みるように変更した場合 - つまり、

SELECT * FROM表1 WHERE ID = 2168

、レコードが細かいエクスポートされる - それが唯一であるとき、それが失敗した複数の行を返す選択の一部。同じ行が毎回エクスポートに失敗します。エラー行をテキストファイルにリダイレクトして、失敗した行に対して-1071610801エラーを表示しました。これは明らかに次のように解釈されます。 -

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

これは私の問題の理解にはあまり効果がありません。

特定の行が正しく取り込まれたり挿入されたりするのを防ぐロック問題があるかどうか疑問に思っていますが、誰かがこれを引き起こしている可能性のあるアイデアや提案があれば、大いに感謝します。私は現在、完全な損失に陥っています...

+0

宛先テーブルにmybe固有のキーがあり、ソースに重複した値が存在しますか? – Matej

+0

別の考え方は、 'For Each'コンテナ、カウンタ変数、およびソースSQLを式としてバッチ処理することです。あなたはそれに問題がある場合は助けを求める。 – Matej

+0

ユニークなキーがありません - 選択された行で他の行と一緒にプッシュされない場合、同じ行が複数回エクスポートされます。バッチを行ってくれますか? – user1025443

答えて

0

よく頭を掻いて、私が思いつくことができるすべての仕事を試みた後、私はついにこれに対する解決策を見つけました。

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

ドライバーは残念ながら有料の商品ですが、最終的に私はこれらのすべてのタスクが緑色になるのを見るために新しい住宅ローンを取り出しました!

0

mysql(ADO.NET)の宛先より長いタイムアウト(1日)を設定しようとします。

+0

いいえ、喜んではいません。恐ろしいですが、高いコマンドタイムアウトと無制限コマンドタイムアウトの両方を設定しようとしました。実際には、行を1つだけエクスポートすると失敗しますが、単独でエクスポートした場合は問題ありません。奇妙な。 – user1025443

関連する問題