2010-12-09 60 views
2

這裏的存儲過程:如何在舊的ASP/VBScript應用程序中使用SQL Server 2008存儲過程的Varchar(max)輸出?

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。

+0

SQL Server不支持adDBDate數據類型。您必須更正此問題,將@NoteDt參數的數據類型更改爲adDBTimeStamp。 – Artemination 2015-03-05 23:16:05

回答

3

這工作:

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

,以更好的想法打開。

2

將大小參數設置爲CreateParameter-1。我認爲這是語法(不能在此刻測試):

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