我有一个使用“通用数据库配置”的数据库连接器(换句话说,是JDBC,而不是MySQL)。
测试连接有效,并且在执行程序时我正在连接到DB2,但是在配置SELECT
语句时遇到了困难
我想要达到的目标是这样的(在命令行处理器中效果很好
SELECT SUM(BALANCE) FROM ACCOUNT
因此,当我单击数据库连接器并转到下面的数据库选项卡时,我看到以下内容
Connector Information: Generic Database Configuration
Operation: Select
Query
Type: Parameterized
Parameterized Query: ACCTNUM FROM ACCOUNT WHERE ACCTNUM = '11111'
当我将其作为Mule应用程序运行并向其发送http突发时,我得到以下信息:
C:\curl>curl http://localhost:8081
Query type must me '[SELECT, STORE_PROCEDURE_CALL]' but was 'DDL' (java.lang.Ill
egalArgumentException). Message payload is of type: String
因此,我怀疑我没有正确设置查询,因此尝试了以下操作:
Connector Information: Generic Database Configuration
Operation: Select
Query
Type: Parameterized
Parameterized Query: SELECT ACCTNUM FROM ACCOUNT WHERE ACCTNUM = '11111'
这次我出现以下错误
C:\curl>curl http://localhost:8081
DB2 SQL Error: SQLCODE=-204, SQLSTATE=42704, SQLERRMC=INSTUID.ACCOUNT, DRIVER=3.
63.123 (com.ibm.db2.jcc.am.SqlSyntaxErrorException). Message payload is of type:
String
我该如何解决这个问题?
谢谢
如果您使用的是Mule 3.5和新的数据库连接器,请尝试...:-
<db:select config-ref="Generic_Database_Configuration" doc:name="Database">
<db:parameterized-query><![CDATA[SELECT SUM(BALANCE) FROM ACCOUNT]]></db:parameterized-query>
</db:select>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句