Sql server 存储过程不返回参数
我在使用存储过程在MSSQL 2008数据库中创建项时遇到问题。 我在客户端使用Flex和ADEP进行服务器连接 数据库过程非常简单:Sql server 存储过程不返回参数,sql-server,jdbc,Sql Server,Jdbc,我在使用存储过程在MSSQL 2008数据库中创建项时遇到问题。 我在客户端使用Flex和ADEP进行服务器连接 数据库过程非常简单: ALTER PROCEDURE [dbo].[testInsert_procedure] @id INT OUT, @v1 VARCHAR(50) = NULL, @v2 VARCHAR(50) = NULL AS BEGIN SET NOCOUNT ON; -- Insert statements for proced
ALTER PROCEDURE [dbo].[testInsert_procedure]
@id INT OUT,
@v1 VARCHAR(50) = NULL,
@v2 VARCHAR(50) = NULL
AS
BEGIN
SET NOCOUNT ON;
-- Insert statements for procedure here
INSERT INTO test1 (v1, v2)
VALUES (@v1, @v2)
SET @id = SCOPE_IDENTITY();
SELECT @id as id;
END
GO
这是此存储过程的配置文件的目标:
<destination id="TestTableInsert">
<adapter ref="java-dao" />
<properties>
<source>flex.data.assemblers.SQLAssembler</source>
<scope>application</scope>
<metadata>
<identity property="id"/>
</metadata>
<server>
<database>
<datasource>java:comp/env/jdbc/TEST</datasource>
</database>
<actionscript-class>classes.TestClass</actionscript-class>
<create-item>
<procedure name="testInsert_procedure">
<procedure-param property-value="#id#" type="OUT" />
<procedure-param property-value="#v1#" />
<procedure-param property-value="#v2#" />
</procedure>
</create-item>
</server>
</properties>
</destination>
我发现这可能是JDBC的错误。。。
所以,获取输出参数只是配置错误,还是这真的是JDBC错误
更新:Java在服务器端与Microsoft JDBC驱动程序4.0一起使用我删除了Flex标记,因为这与Flex无关。您的服务器端语言是什么?JAVA还是冷饮?还是别的什么?谢谢你的回复。服务器端是Java。
Jun 25, 2013 2:47:26 PM org.apache.catalina.core.ApplicationContext log
INFO: [Data Services] [DEBUG] SQL Assembler jdbc exception on operation=create-item error=com.microsoft.sqlserver.jdbc.SQLServerException: The value is not set for the parameter number 1.
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:190)