2016-07-05 21 views
0

我試圖通過新的數據庫連接器騾子數據庫連接器 - 無法找到類型的映射:CURSOR

<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

請使用db:oracle-config代替使用通用數據庫配置;這將解決這個問題,如果你使用> 3.6 EE版本的騾子。

+0

[mule論壇]中的類似帖子(https://forums.mulesoft.com/questions/38853/call-oracle-procedure-returning-sys-refcursor.html) –

+0

謝謝你,它的工作原理: ) – anonymous123