gpt4 book ai didi

wso2-esb - 在 WSO2 ESB (DBLookup) 中没有获取 mysql 存储过程的参数

转载 作者:行者123 更新时间:2023-12-02 04:45:05 28 4
gpt4 key购买 nike

我在 mysql 中创建了一个 SP,它接受 6 个输入参数并给出 2 个输出参数。我想从数据库查找中调用它。我不知道该怎么做。我尝试过不同的 2 代码,但没有成功。请帮忙。

突触代码:

<dblookup>
<connection>
<pool>
<driver>com.mysql.jdbc.Driver</driver>
<property name="autocommit" value="false"/>
<password>root</password>
<user>root</user>
<url>jdbc:mysql://localhost:3308/emp</url>
</pool>
</connection>
<statement>
<sql>
<![CDATA[call MANAGE_MANAGER_DETAIL(?,?,?,?,?,?,@RESULT_CODE, @RESULT_DESC)]]>
</sql>
<parameter expression="synapse:get-property('RequestNumber')" type="VARCHAR"/>
<parameter expression="synapse:get-property('RequestNumber')" type="VARCHAR"/>
<parameter expression="synapse:get-property('RequestNumber')" type="VARCHAR"/>
<parameter expression="synapse:get-property('RequestNumber')" type="VARCHAR"/>
<parameter expression="synapse:get-property('RequestNumber')" type="VARCHAR"/>
<parameter expression="synapse:get-property('RequestNumber')" type="VARCHAR"/>
</statement>
<statement>
<sql>
<![CDATA[SELECT @RESULT_CODE, @RESULT_DESC)]]>
</sql>
<result name="RESULT_CODE" column="RESULT_CODE"/>
<result name="RESULT_DESC" column="RESULT_DESC"/>
</statement>
</dblookup>

日志:

[2015-11-19 13:38:23,668] DEBUG - DBLookupMediator Setting as parameter : 6 value : 1 as JDBC Type : 12(see java.sql.Typepes)
[2015-11-19 13:38:23,669] DEBUG - DBLookupMediator Successfully prepared
statement :call MANAGE_MANAGER_DETAIL(?,?,?,?,?,?,@RESULT_CODE, @RESULT_DESC)
against DataSource : jdbc:mysql://localhost:3308/emp=[2015-11-19 13:38:23,679]
ERROR - DBLookupMediator Error executing statement :
call MANAGE_MANAGER_DETAIL(?,?,?,?,?,?,@RESULT_CODE, @RESULT_DESC) against
DataSource : jdbc:mysql://localhost:3308/emp
java.sql.SQLException: ResultSet is from UPDATE. No Data. at com.mysql.jdbc.ResultSet.next(ResultSet.java:6129)
at org.apache.commons.dbcp.DelegatingResultSet.next(DelegatingResultSet.java:207)
at org.apache.commons.dbcp.DelegatingResultSet.next(DelegatingResultSet.java:207)
at org.apache.commons.dbcp.DelegatingResultSet.next(DelegatingResultSet.java:207

最佳答案

我认为 DBLookup 不支持您放置它们的方式的输出参数。

尝试得到这样的输出

<statement>
<sql>call getCompany(?)</sql>
<parameter expression="//m0:getQuote/m0:request/m0:symbol"
xmlns:m0="http://services.samples" type="VARCHAR"/>
<result name="company_id" column="id"/>
</statement>

查看link for the full sample .

关于wso2-esb - 在 WSO2 ESB (DBLookup) 中没有获取 mysql 存储过程的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33793428/

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