我想在Talend中写入DB时执行事务,但不知道如何。我从调色板尝试了各种组件,但无法设法执行。我将非常感谢任何帮助,甚至更好的任何与此主题相关的教程。
谢谢!
答案 0 :(得分:14)
Talend支持在写入DB时进行事务回滚和提交。
让我们以Mysql为例:使用tMysqlConnection在作业开始时创建数据库连接,并使用tMysqlCommit提交更改并关闭,如果上一个subjob工作正常,tMysqlRollback在前一个子工作失败时回滚更改,简单的工作看起来像:
tMysqlConnection_1
|
onsubjobok
|
tFileInputDelimited--main---tMysqlOutput
|
onsubjobok---tMysqlCommit
onsubjoberror---tMysqlRollback
在tMysqlOutput上,选中using an existing connection
选项
答案 1 :(得分:2)
在Talend中有多种将数据写入数据库的方法。您可以选择使用单独的连接组件(使用现有连接)或使用内置连接。使用单独的连接组件时,需要使用tMSSqlCommit组件(或其他数据库类型的类似组件)显式提交事务。如果使用内置函数,则事务自动提交时不使用tMSSqlCommit组件(或其他数据库类型的类似组件)。
我为您准备了更详细的教程,但需要声望点才能发布图片。我会尝试将它们送到文件服务器,这样我就可以链接到它们并发布更详细的答案。