簡體   English   中英

mirth connect:mysql中的javascript inser xml

[英]mirth connect: javascript inser xml in mysql

我是mirth的新手,java腳本,mysql東西。 我已經建立了一個高興的頻道來讀取文本文件並將其轉換為xml。 它工作正常。 我還嘗試使用另一個通道中的數據庫編寫器將xml發送到mysql數據庫。

這就是javascript代碼的樣子

var dbConn = DatabaseConnectionFactory.createDatabaseConnection('com.mysql.jdbc.Driver','jdbc:mysql://192.168.1.4:3306/mirth','root','');
var result = dbConn.executeUpdate('INSERT INTO jon (xml) values ('1234')');
dbConn.close();

上面的代碼在jon表中插入了一條值為'1234'的記錄。 但是如何將通過source:channel閱讀器讀取的xml發送到數據庫? 我試圖用('+ messageObject.getEncodedData()+)或rawdata或transformeddata替換'1234'。 他們都沒有工作。 我收到以下錯誤:

ERROR (org.mule.impl.DefaultComponentExceptionStrategy:95) .... Wrapped com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '<?xml version="1.0" encoding="UTF-8"?><delimited><row><column1>1234</column1><co' at line 1 (1cf6717f-4818-4b18-acb2-3b93079f2e95#7) .....

我的意圖是將整個xml寫入一個字段,而無需解析。 謝謝你的耐心。 Janmohamamdi

您遇到的錯誤使它看起來像是一個簡單的語法問題。 一秒鍾忘掉歡樂吧。 通常,如果要將值插入數據庫的字符字段中,則需要在插入的值周圍加上單引號

INSERT INTO jon (xml) values ('1234') //single quotes around 1234

當您在Mirth中的javascript中創建查詢時,基本上是在復制與mysql中使用的查詢相同的方法,但是您是以編程方式將其構建為字符串。 您基本上可以構建以下字符串,並告訴javascript執行它:

"INSERT INTO jon (xml) values ('1234')" //single quotes around 1234

這意味着,如果您有一個XML映射的變量,則需要在查詢字符串中用單引號將其引起來,以便您的數據庫知道您要插入的值。 根據您的錯誤消息,這似乎是問題所在。 如果您發布用於插入的實際代碼,我可以檢查一下。

    var xmlVar = $('XmlVar');  //fill a variable
    var query = "INSERT INTO testMRN (sendingfacility) VALUES ('" + xmlVar + "')";  //notice the quotes around the variable 
    var update= dbConn.executeUpdate(query);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM