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

Posted

技术标签:

【中文标题】在 javascript 模式下将连接器类型从 javascript 更改为 Database Reader?【英文标题】:change the connector type from javascript to Database Reader in javascript mode mirth? 【发布时间】:2016-07-25 10:29:53 【问题描述】:

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));
     trydbConn.close();catch(ignore)logger.info("Close Connection: "+ignore.message);

finally

    tryrs.close();catch(ignore)logger.info("Close Cursor: "+ignore.message);


return returned_response;

【问题讨论】:

【参考方案1】:

Mirth Database Reader 将简化您的数据获取过程。源码中不用写很多代码和复杂的listener

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

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

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

【讨论】:

以上是关于在 javascript 模式下将连接器类型从 javascript 更改为 Database Reader?的主要内容,如果未能解决你的问题,请参考以下文章

在 iOS 的后台模式下将数据从 Central 传输到外围设备

如何在没有 ASP.NET Core 的情况下将 Json 数据从控制器发送到 javascript?

在多个连接条件下将数据从第二个表插入一个表

如何在不丢失 Xampp 中的数据的情况下将类型从 varchar 更改为 Date

如何在不从当前活动选项卡中获取焦点的情况下将子窗口添加到 QMdiArea(设置为 TAB 模式)?

javascript:严格模式