在javascript模式中将连接器类型从javascript更改为Database Reader?

时间:2016-07-25 10:29:54

标签: javascript java mysql sql mirth

在javascript模式下将连接器类型从javascript更改为Database Reader时,我重新发现错误

  

在频道预期地图中收到无效列表条目

如何使用List<Map<String, Object>>ResultSet代替java.util.ArrayList()

var dbConn = globalMap.get('tes55');

    if (dbConn == null || !dbConn.getConnection().isValid(1))
    {
        var dbConn = DatabaseConnectionFactory.createDatabaseConnection('oracle.jdbc.driver.OracleDriver','jdbc:oracle:thin:@10.123.117.203:1521/UAT','intg','intg');
        dbConn.getConnection().setNetworkTimeout(java.util.concurrent.Executors.newFixedThreadPool(1), 30000);
        globalMap.put('tes55',dbConn);
    }
           dbConn.setAutoCommit(false);
    try{
 var x="select IH_HL7_OUM_ID, MESSAGE_ID, frame_text from ideal.EHS_Acks_MESSAGES s WHERE (message_type = 'S12' or message_type = 'S15' or message_type = 'A04' or message_type = 'A11') and rownum<=2";    
 var rs=dbConn.getConnection().createStatement().executeQuery(x);
 var msgs=new java.util.ArrayList();
while(rs.next()){
          var IH_HL7_OUM_ID=rs.getString("IH_HL7_OUM_ID");
          var MESSAGE_ID =rs.getString("MESSAGE_ID");
          var frame_text =rs.getString("frame_text");

          // logger.info(MESSAGE_ID);
           //logger.info(IH_HL7_OUM_ID);
            // logger.info(frame_text);
           msgs.add(frame_text);

 //map.set(frame_text);

var query="update ih_hl7_outbound_messages  set IS_SENT= 2 where  MESSAGE_ID ="+MESSAGE_ID+" and id<="+IH_HL7_OUM_ID;
var update=dbConn.executeUpdate(query);
//logger.info(update);
dbConn.commit();

//logger.info(query);


              }

        rs.close();
        return msgs;
    } 
catch(exp)
{
     returned_response = ResponseFactory.getQueuedResponse("Failed to execute the query "  + "\nReason: " + exp.message); 
     logger.error(exp.message);
     alerts.sendAlert("\n\nMessage ID: " +$('msgID') + "\nMessage type: " +$('msgtype')+"\nException: "+exp.message +"\nMessage :\n"+msgs.add(frame_text));
     try{dbConn.close();}catch(ignore){logger.info("Close Connection: "+ignore.message);}
}
finally
{
    try{rs.close();}catch(ignore){logger.info("Close Cursor: "+ignore.message);}
}

return returned_response;

1 个答案:

答案 0 :(得分:0)

Mirth数据库阅读器将简化您的数据获取过程。我们不需要在源监听器enter image description here

中编写许多代码并使其复杂化

您可以看到指定的URL,您可以选择所需的数据库类型,在您的情况下是oracle,自动填充URL。提供您的用户名和密码以访问数据库。

单击SQL文本区域上的“选择”按钮,这将打开一个弹出窗口,显示要选择的所有表。一旦你点击你想要的表格。代码将自动生成。

如果您想要加入或执行任何查询操作,您可以在文本区域内容的生成代码中执行此操作。