我用存儲過程...(參考: - http://www.mulesoft.org/documentation/display/current/Database+Connector)測試騾子的騾子3.5的新的數據庫連接調用從騾3.5存儲過程。我有以下存儲過程: -如何使用新的數據庫端點
ALTER PROCEDURE [dbo].[sp_retrieveData]
@Id int
AS
Select * from getData Where ID = @Id
哪個在Mule的舊JDBC連接器中工作正常......我曾經使用以下語法從JDBC端點調用存儲過程: - <jdbc-ee:query key="RetriveQuery" value="CALL sp_retrieveData(${Id})"/>
哪些工作正常...但現在問題出現在Mule 3.5新增數據庫端點我無法調用相同的存儲過程...我的騾子配置是: -
<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>
所以,我的問題是我怎麼能叫存儲過程使用新的DB終點......假如沒有人嘗試過??? ...請幫助...
更新: - 以下例外我得到: -
Exception stack is:
1. The index 1 is out of range. (com.microsoft.sqlserver.jdbc.SQLServerException)
com.microsoft.sqlserver.jdbc.SQLServerException:170 (null)
2. The index 1 is out of range. (com.microsoft.sqlserver.jdbc.SQLServerException). Message payload is of type: String (org.mule.api.MessagingException)
org.mule.module.db.internal.processor.AbstractDbMessageProcessor:81 (http://www.mulesoft.org/docs/site/current3/apidocs/org/mule/api/MessagingException.html)
--------------------------------------------------------------------------------
Root Exception stack trace:
com.microsoft.sqlserver.jdbc.SQLServerException: The index 1 is out of range.
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:170)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.setterGetParam(SQLServerPreparedStatement.java:698)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.setObject(SQLServerPreparedStatement.java:928)
+ 3 more (set debug level logging or '-Dmule.verbose.exceptions=true' for everything)
********************************************************************************
你會得到什麼異常?請將其添加到您的問題中。 –
更新了異常詳細信息... –