Как использовать вывод Varchar (max) из хранимой процедуры SQL Server 2008 в старом приложении ASP / VBScript? - PullRequest
2 голосов
/ 09 декабря 2010

Вот спрок:

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 работает для ввода, как я использовал его несколько раз. Но как правильно использовать вывод varchar (max) в VBScript? Как есть, моя ошибка гласит: «Объект параметра неправильно определен. Была предоставлена ​​противоречивая или неполная информация». от ADODB.

Ответы [ 2 ]

3 голосов
/ 09 декабря 2010

Это работает:

cmd.Parameters.Append = cmd.CreateParameter("@NoteIDCSV", adBStr, adParamOutput, -1 )

Открыто для лучших идей.

2 голосов
/ 09 декабря 2010

установить аргумент размера от CreateParameter до -1. Я думаю, что это синтаксис (не могу проверить в данный момент):

cmd.Parameters.Append = cmd.CreateParameter("@NoteIDCSV", adLongVarWChar, adParamOutput, -1 )
...