在 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