Mule ESB数据库连接器(JDBC)错误:

时间:2014-07-11 22:28:48

标签: eclipse mule esb

我有一个使用“通用数据库配置”的数据库连接器 (换句话说,JDBC而不是MySQL)。

测试连接有效,我在执行程序时连接到DB2,但是我在配置SELECT语句时遇到了困难

我想要实现的是这样的(在命令行处理器中运行良好

SELECT SUM(BALANCE) FROM ACCOUNT

因此,当我单击Database Connector并转到下面的数据库选项卡时,我会看到以下内容

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

如何解决此问题?

由于

1 个答案:

答案 0 :(得分:4)

如果您使用的是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>