Stored procedures 如何使用新的数据库端点从Mule 3.5调用存储过程
我正在用存储过程测试Mule的新数据库连接器Mule 3.5。。。(参考资料:-)。。我有一个以下存储过程:-Stored procedures 如何使用新的数据库端点从Mule 3.5调用存储过程,stored-procedures,jdbc,mule,mule-studio,Stored Procedures,Jdbc,Mule,Mule Studio,我正在用存储过程测试Mule的新数据库连接器Mule 3.5。。。(参考资料:-)。。我有一个以下存储过程:- ALTER PROCEDURE [dbo].[sp_retrieveData] @Id int AS Select * from getData Where ID = @Id 在Mule的旧JDBC连接器中运行良好。。。我曾经使用以下语法从JDBC端点调用存储过程:-,它工作得很好。。。但是现在问题出在Mule 3.5新数据库的端点上,我无法调用相同的存储过程。。。我的Mule配
ALTER PROCEDURE [dbo].[sp_retrieveData]
@Id int
AS
Select * from getData Where ID = @Id
在Mule的旧JDBC连接器中运行良好。。。我曾经使用以下语法从JDBC端点调用存储过程:-
,它工作得很好。。。但是现在问题出在Mule 3.5新数据库的端点上,我无法调用相同的存储过程。。。我的Mule配置为:-
<db:stored-procedure config-ref="Generic_Database_Configuration" doc:name="Database">
<db:parameterized-query><![CDATA[CALL sp_retrieveData(58)]]></db:parameterized-query>
<db:in-param name="Id" type="INTEGER" value="58"/>
</db:stored-procedure>
IMO最好的文档是它的测试。DB模块的存储过程测试如下: 在此基础上,应采取以下措施:
<db:stored-procedure config-ref="Generic_Database_Configuration">
<db:parameterized-query>{ call sp_retrieveData(:Id) }</db:parameterized-query>
<db:in-param name="Id" value="58" />
</db:stored-procedure>
{调用sp_retrieveData(:Id)}
(我还没有测试过)示例存储过程调用:
<db:stored-procedure config-ref="Oracle_Configuration1" doc:name="Database">
<db:parameterized-query><![CDATA[
{
call apps.create_sales_Order(:p_header_rec_oper, :P_order_number, :P_ordered_date, :P_line_id, :p_flow_Status_code, :P_return_status)
}
]]>
</db:parameterized-query>
<db:in-param name="p_header_rec_oper" value="CREATE"/>
<db:out-param name="P_order_number" type="INTEGER"/>
<db:out-param name="P_ordered_date" type="DATE"/>
<db:out-param name="P_line_id" type="VARCHAR"/>
<db:out-param name="p_flow_Status_code" type="VARCHAR"/>
<db:out-param name="P_return_status" type="VARCHAR"/>
</db:stored-procedure>
您有什么例外情况?请将其添加到您的问题中。更新了异常详细信息…哦,我的天。。它起作用了。。我搜索了整个网络。。。但由于它是一个新的连接器,没有太多的描述可用。。。谢谢大卫的帮助。。。
<db:stored-procedure config-ref="Oracle_Configuration1" doc:name="Database">
<db:parameterized-query><![CDATA[
{
call apps.create_sales_Order(:p_header_rec_oper, :P_order_number, :P_ordered_date, :P_line_id, :p_flow_Status_code, :P_return_status)
}
]]>
</db:parameterized-query>
<db:in-param name="p_header_rec_oper" value="CREATE"/>
<db:out-param name="P_order_number" type="INTEGER"/>
<db:out-param name="P_ordered_date" type="DATE"/>
<db:out-param name="P_line_id" type="VARCHAR"/>
<db:out-param name="p_flow_Status_code" type="VARCHAR"/>
<db:out-param name="P_return_status" type="VARCHAR"/>
</db:stored-procedure>