sql-server-2008 - 如何在旧的 ASP/VBScript 应用程序中使用 SQL Server 2008 存储过程的 Varchar(max) 输出?

标签 sql-server-2008 vbscript asp-classic varcharmax

这是存储过程:

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/

相关文章:

vbscript - 通过 VBScript 了解用户是否具有管理权限的最佳方法

asp-classic - 如何检查 POST 提交的字段是否存在于 VBScript 中?

sql-server-2008 - SQL Server Set变量(如果存在),否则插入到表中

c# - 通过 C# 或 SQL 获取存储过程参数?

sql-server - 从 SQL Server 2008 中的 INSERT 语句返回值

sql-server - 错误 0xc0202049 : Data Flow Task 1: Failure inserting into the read-only column

date - 如何在 vbscript/ASP 中比较两个日期?

regex - vbscript函数清理字符串只允许某些字符

database - 如何在 vbscript 中将记录集放入二维数组中?

php - 从经典 ASP 迁移到 PHP - 本地资源与实时资源