Mirth:数据库阅读器,如何处理从sql查询返回的[多行]?

时间:2016-09-19 12:22:48

标签: html database mirth

我是Mirth连接的新手,我需要一些帮助

我正在进行如下演示:

来源是数据库阅读器 目的地是文档编写者

源中的SQL select查询返回多行“这就是我需要的” 我正在尝试生成一个pdf文档[文档编写器],其中包含所有返回列的值 但实际上,文件中写的是最后返回的行

这是我写的HTML模板

<html>
<head></head>

<body>
<div>
${Target_path}\\${fileName}
</div>

</body>
</html>

在目的地,我有映射类型的转换器,它将返回列的值映射到字符串

SQL语句从我的数据库中选择两列,都是字符串

第一列表示路径,第二列表示文件名 所以我有很多从sql语句返回的文件名,我需要把它们全部写到这个文件中

有关如何处理查询返回的每一行的任何提示?

最诚挚的问候,

1 个答案:

答案 0 :(得分:0)

我正在使用JavaScript来提取数据,但您可以事先格式化您的条目并将它们插入到ArrayList中。从那里,将列表映射到频道映射变量。

var dbConn;
var result;
var entryList = java.util.ArrayList();

try {
    dbConn = DatabaseConnectionFactory.createDatabaseConnection('DRIVER', 'ADDRESS', 'USERNAME', 'PASSWORD');
    result = dbConn.executeCachedQuery('YOUR QUERY');
    while (result.next()) {
        var entry = result.getString(1) + "//" + result.getString(2);
        list.add(entry);
    }
} finally {
    if (dbConn) {
        dbConn.close();
    }
}

channelMap.put('entryList', entryList);

在您的模板中,您可以在html模板中使用 Velocity 来动态创建PDF。

<html>
    <head/>
    <body>
        #foreach ($entry in ${entryList})
        <div>
            $entry
        </div>
        #end
    </body>
</html>