2

ETL Talend Open Studio (TOS) を使用しています。データベース A をデータベース B に転送したいのですが、tMap コンポーネントを使用しています。tLogRow を使用して結果を表示する場合は問題ありません。TOS はデータを正しく表示します。しかし、転送を行うと、TOS は「ロック待機タイムアウトを超えました。トランザクションを再起動してください」と書き込みます。

この問題がわかりません... データの読み取りには問題ありませんが、データの書き込みには問題があります。助けてくれませんか?

4

2 に答える 2

3

Mysqlへの単一の接続を使用してジョブを実行してみてください(エラーはmysqlエラーであるため、使用していると思います)

上記のエラーは、2 つ以上の接続を同時に挿入/更新/削除しようとすると発生する可能性があります。

単一の接続を作成し、すべてのコンポーネントでそれを共有するには、「tMysqlConnection」と「tMysqlCommit」という 1 組のコンポーネントが必要です。

データベースにクエリを実行する前に、接続コンポーネントを配置する必要があります。ジョブに追加したら、「既存の接続を使用」を選択して tMysqlInput コンポーネントをリンクできます。

コミット コンポーネントは commit コマンドを発行し、トランザクションを閉じます。

使用している個別の DB サーバーごとに接続コンポーネントが必要になります。

于 2012-06-26T18:17:40.767 に答える
0

ベース A には 300 個の記事が含まれています。この問題はTalend Open Studioが原因だと思います。TOS は 100 件以上の記事を実行できません。ベースAを3つのベースに「カット」しようとしました。次に、TOS を実行します。エラーがありません。奇妙です... しかし、うまくいきます。

于 2012-05-03T11:32:10.857 に答える