gpt4 book ai didi

javascript - 欢笑连接: javascript inser xml in mysql

转载 作者:行者123 更新时间:2023-11-30 23:28:50 26 4
gpt4 key购买 nike

我是 mirth、java 脚本、mysql 的新手。我已经在欢乐中建立了一个 channel 来读取文本文件并将其转换为 xml。它工作正常。我还尝试使用另一个 channel 中的数据库编写器将 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 写在一个字段中,还不需要解析。谢谢你的耐心。简莫哈马迪

最佳答案

您收到的错误让人觉得这是一个简单的语法问题。暂时忘记欢乐。通常,如果要将值插入到数据库中的字符字段中,则需要在插入的值周围加上单引号

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);

关于javascript - 欢笑连接: javascript inser xml in mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11758101/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com