当前使用WSO2 DSS 3.5.0执行在MSSQL中执行一个在事务中插入的过程。该过程以返回代码和返回消息响应。添加新条目时,DSS能够在数据库中执行语句,但是当我尝试将过程的输出映射到DSS的输出时,我会得到以下例外:
com.microsoft.sqlserver.jdbc.SQLServerException: This operation is not supported.
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:191)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.NotImplemented(SQLServerStatement.java:613)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.getMoreResults(SQLServerStatement.java:2374) ...
这是我正在使用的语句:
DECLARE @returnCode int, @returnMessage varchar(255)
EXEC "dbo"."sp_insertExample" @ipFirstId = ?, @ipSecondId = ?, @opErrorCode = @returnCode output, @opErrorMesssage = @returnMessage output
SELECT @returnCode, @returnMessage
输入都是INT值。
它是否发生在别人身上,您知道如何纠正它或我做错了什么?
编辑 - 添加输出之间完成的映射:
<result element="result" escapeNonPrintableChar="true" rowName="Addition" useColumnNumbers="true">
<element column="1" name="ReturnCode" xsdType="integer"/>
<element column="2" name="ReturnMessage" xsdType="string"/>
</result>
,因此发现了存储过程之间有什么不同,基本上缺少一条线,显然很重要,即:
SET NOCOUNT ON;
在我的情况下,希望它对其他人有帮助。