1

在我的工作中,我正在尝试通过从我的 talend 工作中加入几个表(例如 create table xx select * from t1 inner t2 等)来创建一个表(如果不存在)。我正在使用 tMysqlRow 组件。我不确定,它是否适合用于 DDL 操作..!! 请建议使用正确的组件。

使用 tMysqlRow,有时工作正常但不一致。有时它会因“java.sql.SQLException:超过锁定等待超时;尝试重新启动事务”而失败。是因为我的查询时间太长,还是使用 tMysqlRow 进行 DDL 操作是错误的?我在哪里做错了?

4

1 回答 1

2

我能够弄清楚问题。问题是,我试图将表放在 tMysqlRow 组件中,并将其连接到另一个 tMysqlRow 以再次创建它。并且这两个不能使用单个 tMysqlConnection 对象。所以一个正在等待另一个提交。

有一次,我让这两个 tMySqlRow 组件与同一个 tMySqlConnection 对象一起工作,问题得到了解决。

这里要学习的一点是,它们都应该使用同一个连接对象。

于 2013-02-21T23:38:32.940 回答