Mule数据库连接器 - 无法找到类型的映射:CURSOR

时间:2016-07-05 17:34:05

标签: xml maven mule

我试图通过新的数据库连接器

在Mule中调用存储过程
<spring:bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    <spring:property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
    <spring:property name="url" value="abc"/>
    <spring:property name="username" value="def"/>
    <spring:property name="password" value="ghi"/>
    <spring:property name="removeAbandoned" value="true"/>
    <spring:property name="initialSize" value="10"/>
    <spring:property name="maxActive" value="50"/>
</spring:bean>

<db:generic-config name="Database_Configuration" dataSource-ref="dataSource"
                   doc:name="Generic Database Configuration"/>

在我的流程中

    <db:stored-procedure config-ref="Database_Configuration" doc:name="Database">
        <db:parameterized-query>{ CALL some_procedure(NULL, :resultSet1) }</db:parameterized-query>
        <db:out-param name="resultSet1" type="CURSOR"/>
    </db:stored-procedure>

当我尝试运行此流时,我得到以下异常。

Exception stack is:
Unable to find a mapping for type: CURSOR (org.mule.module.db.internal.domain.type.UnknownDbTypeException). (org.mule.api.MessagingException)
  org.mule.module.db.internal.domain.type.CompositeDbTypeManager.lookup(CompositeDbTypeManager.java:87)

我正在使用Mule EE 3.8版。我的pom定义了mule-module-db工件。

    <dependency>
        <groupId>org.mule.modules</groupId>
        <artifactId>mule-module-db</artifactId>
        <version>3.8.0</version>
    </dependency>

知道我做错了吗?

1 个答案:

答案 0 :(得分:1)

请使用db:oracle-config而不是使用通用数据库配置;如果您使用&gt; 3.6 EE版本的mule,这将解决问题。