【问题标题】:Transactions in TalendTalend 交易
【发布时间】:2011-11-18 12:38:31
【问题描述】:

我想在 Talend 中写入数据库时​​执行事务,但不知道如何操作。我尝试了调色板中的各种组件,但无法执行。我将不胜感激任何与此主题相关的帮助甚至更好的教程。

谢谢!

【问题讨论】:

    标签: talend


    【解决方案1】:

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

    我们以 Mysql 为例:在作业开始时使用 tMysqlConnection 创建数据库连接,如果前一个子作业正常工作,则使用 tMysqlCommit 提交更改并关闭,如果前一个子作业工作失败,则使用 tMysqlRollback 回滚更改,简单的工作看起来像:

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

    在 tMysqlOutput 上,检查选项 using an existing connection

    【讨论】:

    • 记得在 tMysqlConnection 组件(“高级设置”选项卡)中取消选中“自动提交”。
    【解决方案2】:

    在 Talend 中有多种将数据写入数据库的方法。您可以选择使用单独的连接组件(使用现有连接)或使用内置连接。当您使用单独的连接组件时,您需要使用 tMSSqlCommit 组件(或其他数据库类型的类似组件)显式提交您的事务。如果您使用内置的,则事务会在没有 tMSSqlCommit 组件(或其他数据库类型的类似组件)的情况下自动提交。

    我为您准备了更详细的教程,但需要信誉点才能发布图片。我将尝试将它们发送到文件服务器,以便我可以链接到它们并发布更详细的答案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-06
      • 1970-01-01
      • 2020-07-30
      • 2016-03-17
      相关资源
      最近更新 更多