数据类型0x23是不推荐使用的大对象或LOB,但标记为输出参数

时间:2016-06-23 03:13:46

标签: stored-procedures adodb lob varcharmax

我正在尝试从varchar(max)收到param输出stored procedure但我收到上述错误,即Data type 0x23 is a deprecated large object, or LOB, but is marked as output parameter执行{{1}时在SP

我尝试过使用vb.net连接字符串,没有运气 我试过设置SQLNCLI11,没有运气

提前感谢。

这是我的代码:

Datatypecompatibility=80

1 个答案:

答案 0 :(得分:0)

好的,我已经解决了我的问题。

首先,我将CursorLocation设置为adUseClient

db.ConnectionString = "Provider=SQLNCLI11;UID=user;Pwd=password;Database=POSData;Server=localhost;DataCompatibility=80;MARS Connection=True"
db.CursorLocation = ADODB.CursorLocationEnum.adUseClient
db.Open()

然后,对于输出参数数据类型,我使用了adBStr

prm = cmd.CreateParameter("@PromoRejectDesc", ADODB.DataTypeEnum.adBSTR, ADODB.ParameterDirectionEnum.adParamOutput, 999999)
    cmd.Parameters.Append(prm)

之后一切正常!

顺便说一句,我收到18,255(长)字符。