当前使用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;
以我为例,希望它能对其他人有所帮助。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句