0
我正在嘗試使用Mule 3.3.0執行存儲過程到來自SQL Server 2008數據庫的SELECT
數據。執行存儲過程以選擇數據 - Mule 3.3.0
在Mule文檔中有關於使用Oracle做這件事的信息。我不確定這是否可以使用SQL Server。
這是我的騾子端點配置
<jdbc:outbound-endpoint exchange-pattern="request-response" queryTimeout="-1" connector-ref="sqlServerConnector" queryKey="selectCoupons" doc:name="Database">
<jdbc:query key="selectCoupons" value="call sp_get_coupons()"/>
</jdbc:outbound-endpoint>
這是輸出
Root Exception stack trace:
java.sql.SQLException: The executeUpdate method must not return a result set.
at net.sourceforge.jtds.jdbc.JtdsStatement.processResults(JtdsStatement.java:603)
at net.sourceforge.jtds.jdbc.JtdsStatement.executeSQL(JtdsStatement.java:546)
at net.sourceforge.jtds.jdbc.JtdsPreparedStatement.executeUpdate(JtdsPreparedStatement.java:506)
+ 3 more (set debug level logging or '-Dmule.verbose.exceptions=true' for everything)
我使用的JTDS驅動程序。用JDBC客戶端測試存儲過程我得到了預期的resultSet。
有什麼建議嗎?
沒做過什麼用的。但是你不會使用像「exec sp _....」這樣的東西。 「呼叫」看起來很奇怪。 – stb
也許mule無法獲得存儲過程的結果,但實際上它已被執行。你可以通過創建一個自己的存儲過程來更新一些值來嘗試。 – stb
已經嘗試過。這是我得到的:java.lang.IllegalArgumentException:沒有發現SQL語句的SQL策略:exec sp_get_coupons() – Daniel