繁体   English   中英

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

[英]Mirth : database reader, how to deal with [multiple rows] returned from sql query?

我是Mirth Connect的新手,需要帮助

我正在进行如下演示:

源是数据库阅读器 ,目标是文档编写器

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

这是我写的HTML模板

<html>
<head></head>

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

</body>
</html>

在目标位置,我有Mapping类型的转换器,该转换器将返回的列的值映射到string

SQL语句从数据库中选择两列,都是列

第一列代表路径,第二列代表文件名,所以我从sql语句返回了许多文件名,我需要将所有文件名都写到该文档中

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

最好的祝福,

我使用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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM