Tsql 为什么使用ADPARAMINPUTUOUTPUT时会削减输出值?
我有一个存储过程,它有VARCHARMAX输出参数。该参数用于传递和返回大字符串值 当它在SQLServerManagementStudio的上下文中执行时,它可以完美地工作 该问题仅出现在ASP页面中。代码如下:Tsql 为什么使用ADPARAMINPUTUOUTPUT时会削减输出值?,tsql,asp-classic,sql-server-2012,Tsql,Asp Classic,Sql Server 2012,我有一个存储过程,它有VARCHARMAX输出参数。该参数用于传递和返回大字符串值 当它在SQLServerManagementStudio的上下文中执行时,它可以完美地工作 该问题仅出现在ASP页面中。代码如下: cmd.Parameters.Append cmd.CreateParameter("@CSV", adBStr, adParamInputOutput, -1, 'some very large string goes here') 我能够传递超过4000个符号的大值,但返回值被
cmd.Parameters.Append cmd.CreateParameter("@CSV", adBStr, adParamInputOutput, -1, 'some very large string goes here')
我能够传递超过4000个符号的大值,但返回值被截断。我试图用adLongVarWChar和adLongVarChar替换adBStr,但出现以下错误:
Parameter object is improperly defined. Inconsistent or incomplete
information was provided.
我想问题是由ADPARAMINPUTUOUTPUT引起的。因此,我通常要求参数类型在两个方向上都能使用最大符号。这是打字错误吗?不应该是adLongVarWChar和adLongVarChar吗?您不应该使用adBStr。请看SQL Servercolumn@Lankymart对那是个打字错误。adbStr似乎是唯一用作输入和输出的类型。是否尝试了adVarWChar?我使用的是最大值,因此adVarWChar不符合要求。