[英]SQL Server & ADO Data Types with VB6 - What Size to set for VARCHAR(MAX) OUTPUT parameter from a stored procedure?
Calling a stored procedure from VB6. 从VB6调用存储过程。
lcmdADOCommand.Parameters.Append lcmdADOCommand.CreateParameter("@p_user_id", adVarChar, adParamInput, 8, lobjFPSysUtilsSBO.ExtractUserFromToken(strSessionTokenVal))
lcmdADOCommand.Parameters.Append lcmdADOCommand.CreateParameter("@p_source_data_XML", adVarChar, adParamInput, -1, strXML_Warranty_RSRef)
lcmdADOCommand.Parameters.Append lcmdADOCommand.CreateParameter("@p_unlock_object_flag", adBoolean, adParamInput, , blnUnlockObjectVal)
lcmdADOCommand.Parameters.Append lcmdADOCommand.CreateParameter("@p_return_data_flag", adBoolean, adParamInput, , True)
Set lobjADOParam = lcmdADOCommand.CreateParameter("@p_output_record_XML", adVarChar, adParamOutput, -1, strXML_RecordList_RSRef)
lobjADOParam.Size = 8000
lcmdADOCommand.Parameters.Append lobjADOParam
With the last output parameter ... if I don't set the size to 8000 I get a runtime error 使用最后一个输出参数...如果未将大小设置为8000,则会出现运行时错误
"Parameter object is improperly defined. Inconsistent or incomplete information was provided".
“参数对象定义不正确。提供的信息不一致或不完整”。
What is the maximum size I can use here in VB6 for an output of VARCHAR(MAX)? 我在VB6中可以为VARCHAR(MAX)输出使用的最大大小是多少? Setting the size to -1 on the input is fine but not on an Output Parameter
在输入上将大小设置为-1很好,但在输出参数上则不行
Use -1
for size of adLongVarChar
or adLongVarWChar
parameters, not adVarChar
as in your snippet (missing a Long
in the enum entry name). 对于
adLongVarChar
或adLongVarWChar
参数的大小,请使用-1
,而不要像您的代码片段中那样使用adVarChar
(在枚举项名称中缺少Long
)。
Btw, it doesn't matter if direction in adParamInput
or adParamOutput
as your Q suggests, ie suggesting a problem w/ direction managed to only slow down finding answers here. 顺便说一句,在
adParamInput
或adParamOutput
方向adParamOutput
如您的Q所建议的那样adParamOutput
,即,建议一个带有方向的问题设法减慢了在此处找到答案的速度。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.