2011-11-18 41 views
13

我想在Talend写数据库时执行交易,但不知道如何。我尝试了调色板中的各种组件,但无法执行。我会很感激任何帮助,甚至更好的任何教程相关的这个话题。Talend交易

谢谢!

回答

13

Talend在写入数据库时​​支持事务回滚和提交。

让我们以Mysql为例:使用tMysqlConnection在作业开始时创建一个数据库连接,并使用tMysqlCommit提交更改并关闭,如果前一个子作业工作正常,则tMysqlRollback在以前的子作业工作时回滚更改发生故障时,简单的工作是这样的:

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

上tMysqlOutput,检查using an existing connection

+1

并记住取消选中tMysqlConnection组件中的“自动提交”(“高级设置”选项卡)。 –

2

有写入数据的各种方法为在Talend一个数据库的选项。您可以选择使用单独的连接组件(使用现有连接)或使用内置组件。在使用单独的连接组件时,您需要使用tMSSqlCommit组件(或其他数据库类型的类似组件)显式提交事务。如果你使用内置的,那么事务自动提交时没有tMSSqlCommit组件(或其他数据库类型的类似组件)。

我已经为你准备了更详细的教程,但需要声望点才能发布图像。我会尝试让他们到文件服务器,以便我可以链接到他们并发布更详细的答案。