我有一个带有 SQL2012 数据库的经典 ASP 应用程序。我最近将表列从 varchar(8000) 更改为 varchar(max),因为它不够大,无法存储所需的数据。
我可以使用需要存储的所有数据更新列,但我用来返回列数据作为输出参数的 SP 仅返回 4000 个字符(至少这是以下代码的结果给我的结果:
Len(cmd.Parameters("@detail").Value)
我使用以下参数声明作为 SP 调用的一部分:
cmd.Parameters.Append cmd.CreateParameter("@detail", 8, 2, -1, strDetail)
8 是 adBStr 的值。我尝试将 8 更改为 200、201 和 203,但这会出现以下错误:
错误:800a0e7c
描述:
参数对象定义不正确。提供的信息不一致或不完整。
我认为更新数据会很困难,但我就是不知道如何检索该列的全部内容。
我返回该列的 DATALENGTH,它显示长度为 10,536,但我只得到 4,000 个字符,包括通过输出参数返回的空格。我可以从 Visual Studio 中看到所有数据(10k 个字符),所以我知道它在那里。
我的连接字符串Provider=SQLOLEDB.1。这会是一个问题吗?我应该使用较新的 SQL Server Native Client 11.0 OLE DB 提供程序 - SQLNCLI11 吗?
有人有什么想法吗?
干杯,
麦克风。