【发布时间】:2011-11-24 11:56:29
【问题描述】:
我正在 VB.NET(.NET 3.5,SQLServer 2005)中创建一个 CLR 存储过程。该过程有 4 个 BYVal 参数和 4 个 BYRef 参数。它编译并正确部署到 SQL Server 中,并创建了一个存储过程。 但是,当我尝试运行 SP 时,它坚持传递 OUTPUT 参数。它给出了以下错误
我正在从 SQL Server 运行它,如下所示
声明@return_value int, @outI 整数, @outS nvarchar(4000), @outD 日期时间, @outB 位
EXEC @return_value = [dbo].[ProofOfConcept]
@inI = 23,
@inS = N'john',
@inD = N'12/12/2009',
@inB = 1,
@outI = @outI OUTPUT,
@outS = @outS OUTPUT,
@outD = @outD OUTPUT,
@outB = @outB OUTPUT
'TestProc' 失败,因为参数 5 不允许为空。
我的 VB.NET 过程声明如下
Public Shared Sub TestProc(ByVal inI As Integer, ByVal inS As String, ByVal inD As DateTime, ByVal inB As Boolean, _
ByRef outI As Integer, ByRef outS As String, ByRef outD As DateTime, ByRef outB As Boolean)
【问题讨论】:
-
我想你忘记了错误信息中的粘贴。
-
除了@siride 注释之外,您如何调用存储过程也会有所帮助。
标签: .net