我在talend中有一个Job,它将数据插入表中。
我可以得到这个SQL句子(即"插入tabla(a,b)值(....)")?
答案 0 :(得分:1)
如果您想知道将哪些数据发送到数据库,您可以在数据库输出组件之前或之后放置一个tLogRow组件,以便将内容记录到控制台。
答案 1 :(得分:1)
您可以通过添加 tLogRow 来查看插入的数据,但如果您想实时查看生成的插入,则可以使用调试器。
例如,对于以下工作:
上面你可以看到从excel文件插入到mysql表的数据。这是使用 tLogRow 生成的。但是如果你想要sql生成的句子,你可以在这里看到它:
希望能提供帮助。
答案 2 :(得分:0)
我认为这是不可能的(作为新版本的改进可能会很好)。我的问题是,当我更改数据库输出的源(Oracle SID到Oracle RAC)时,插入是在旧数据库中进行的。
我修复它更改"项目中的xml代码"文件。随着更改旧版附加到Oracle SID的参数仍然存在。
非常感谢!!周末愉快Goon10和ydaetskcoR!
答案 3 :(得分:0)
您可以检查生成的JAVA代码。你会看到:
INSERT INTO(列)VALUES(?,?,?)
那就是insert的preparedStatement。 Talend使用preparedStatements来执行插入操作,因此只会生成并发送一个插入。在组件的主要部分,它将调用
了setString(值,位置)
请参阅:http://docs.oracle.com/javase/tutorial/jdbc/basics/prepared.html