如何在Talend中展示tDbRow组件的查询输出结果?
获取Talend tDbRow组件执行PostgreSQL查询的结果
针对你执行show datestyle;这类查询的场景,以下是获取结果的具体方法:
单行单列查询(如show datestyle)
- 打开tDbRow组件的高级设置面板,勾选「将结果输出到全局变量」选项
- 作业执行完成后,直接通过全局变量获取结果:
这里的globalMap.get("tDBRow_1.datestyle")datestyle是查询返回的列名,与SQL语句的输出列一一对应 - 输出结果的方式:
- 将变量拖入
tLogRow组件,直接打印结果 - 在
tJava组件中用代码打印:System.out.println("当前日期格式:" + globalMap.get("tDBRow_1.datestyle"));
- 将变量拖入
多行查询场景
如果是返回多行结果的查询,需要将结果集存储到全局变量后遍历:
- 在tDbRow的高级设置里勾选「将结果存储到全局变量」
- 通过
globalMap.get("tDBRow_1_RESULTSET")获取ResultSet对象 - 在
tJavaRow组件中编写遍历代码(需处理SQL异常):ResultSet rs = (ResultSet)globalMap.get("tDBRow_1_RESULTSET"); try { while(rs.next()){ // 替换为你的列名 System.out.println(rs.getString("column_name")); } } catch(SQLException e) { e.printStackTrace(); }
注意:
globalMap.get("tDBRow_1_QUERY")本身就是用于存储执行的SQL语句,而非查询结果,所以只能拿到语句内容。
内容的提问来源于stack exchange,提问作者error500
相关产品推荐
相关产品推荐

