![](/img/trans.png)
[英]Mirth Connect Sender Channel Destination Database writer unable to update the record in DB
[英]Is there a way to cancel a Mirth Channel destination file writer?
當沒有返回數據時,有沒有辦法取消Mirth Channel目標文件寫入器。 我不想每次運行通道時都創建一個文件。 該通道需要每2-5分鍾運行一次,以處理sql server中隊列中的所有未決記錄。
我正在使用一個Mirth通道來查詢sql服務器數據庫並將數據輸出為CSV文件。 我正在使用Mirth Connect Server 3.2.0.7628。
這是我在目標轉換器上的腳本。 如果result.Size()不大於零,我試圖跳過添加到tmp的操作。 在Mirth Connect文檔中找不到此用例。
var dbConn = DatabaseConnectionFactory.createDatabaseConnection('net.sourceforge.jtds.jdbc.Driver','jdbc:jtds:sqlserver://xx.xx.x.xx:1433/<dbname>',<user>,<password>);
var result1 = dbConn.executeCachedQuery("exec [z_stored_procedure] param1");
var i = 0;
if (result1.size()>0)
{ logger.debug(result1.size())
while(result1.next())
{
tmp.row += <row>
<DataField1>"{result1.getString('DataField1')}"</DataField1>
<DataField2>"{result1.getString('DataField2')}"</DataField2>
</row>;
}
}
dbConn.close();
您始終可以從該目標中排除該消息。
例如,如果某個頻道有多個目標,並且每個消息僅需要由一個目標處理,則通過在源轉換器中調用destinationSet.removeAllExcept(connectorName),只有該目標才能接收到該消息。 這些目標將不存儲任何數據,也不會顯示在消息瀏覽器中。 這是對每個目標進行篩選的替代方法,可以節省處理時間和磁盤空間。
將您的代碼放入目標過濾器而不是Transformer應該起作用。
在if語句之后,添加:
else {
return false;
}
如果您有數據,它將運行您的轉換並將其傳遞到目標。 如果您不這樣做,它將過濾郵件,並且對目標不執行任何操作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.