这是存储过程:
ALTER PROC [dbo].[cms_createNoteMultipleRecID] (
@NoteDt smalldatetime,
...
@NoteIDCSV VARCHAR(max) OUTPUT
)
这是 VBScript:
cmd.CommandText = "cms_createNoteMultipleRecID"
cmd.Parameters.Append = cmd.CreateParameter("@RC", adInteger, adParamReturnValue)
cmd.Parameters.Append = cmd.CreateParameter("@NoteDt", adDBDate, adParamInput,, NoteDt )
...
cmd.Parameters.Append = cmd.CreateParameter("@NoteIDCSV", adLongVarWChar, adParamOutput )
似乎 adLongVarWChar 适用于输入,因为我已经使用过几次了。但是,在 VBScript 中使用 varchar(max) 输出的正确方法是什么?按原样,我的错误状态为:“参数对象定义不正确。提供的信息不一致或不完整。”来自 ADODB。
最佳答案
这有效:
cmd.Parameters.Append = cmd.CreateParameter("@NoteIDCSV", adBStr, adParamOutput, -1 )
接受更好的想法。
关于sql-server-2008 - 如何在旧的 ASP/VBScript 应用程序中使用 SQL Server 2008 存储过程的 Varchar(max) 输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4401647/