2011-11-18 122 views
13

TalendでDBに書き込んでいる間にトランザクションを実行したいのですが、その方法はわかりません。私はパレットからさまざまなコンポーネントを試しましたが、実行することができませんでした。私は、このトピックに関連する任意の助けまたはより良いチュートリアルに感謝します。Talendでのトランザクション

ありがとうございます!

答えて

13

Talendは、DBへの書き込み中にトランザクションのロールバックとコミットをサポートします。

たとえば、tMysqlConnectionを使用してジョブの開始時にDB接続を作成し、tMysqlCommitを使用して変更をコミットし、前のサブジョブが正常に機能する場合は閉じる、tMysqlRollbackを使用して以前のサブジョブが機能する場合は変更をロールバックするtMysqlOutput上

tMysqlConnection_1 
    | 
onsubjobok 
    | 
tFileInputDelimited--main---tMysqlOutput 
    | 
onsubjobok---tMysqlCommit 
onsubjoberror---tMysqlRollback 

は、才能でDBへのデータ書き込みの様々な方法がありますusing an existing connection

+1

tMysqlConnectionコンポーネント( "詳細設定"タブ)の "Auto Commit"のチェックを外すことを忘れないでください。 –

2

オプションをチェックしてください。失敗は、簡単な仕事は次のようになります。別の接続コンポーネントを使用する(既存の接続を使用する)か、組み込みを使用するかの選択肢があります。別の接続コンポーネントを使用する場合は、tMSSqlCommitコンポーネント(または別のデータベースタイプの同様のコンポーネント)を使用してトランザクションを明示的にコミットする必要があります。組み込み関数を使用すると、トランザクションはtMSSqlCommitコンポーネント(または別のデータベース型の同様のコンポーネント)なしで自動的にコミットされます。

私はより詳細なチュートリアルを用意していますが、画像を投稿するには評判ポイントが必要です。私は彼らに接続し、より詳細な答えを投稿できるように、サーバーにファイルを取得しようとします。