返回 varchar(max) 存储过程的输出参数截断为 4000 个字符

2023-12-27

我有一个带有 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 吗?

有人有什么想法吗?

干杯, 麦克风。


您对连接字符串的假设是正确的

您需要使用 SQL Server Native Client 而不是 SQLOLEDB.1 来支持VARCHAR(MAX) and NVARCHAR(MAX)数据类型,否则它们将被截断回 SQLOLEDB 等效项。

然后您需要使用以下参数定义

'For varchar(max) OUTPUT use;
Call cmd.Parameters.Append(cmd.CreateParameter("@detail", adLongVarChar, adParamOutput, -1, strDetail))

'For nvarchar(max) OUTPUT use;
Call cmd.Parameters.Append(cmd.CreateParameter("@detail", adLongVarWChar, adParamOutput, -1, strDetail))

'** Constants **
' adLongVarChar = 201
' adLongVarWChar = 203
' adParamOutput = 2
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

返回 varchar(max) 存储过程的输出参数截断为 4000 个字符 的相关文章

  • SQL服务器重复连接问题

    任何人都可以帮忙 我尝试加入重复的值 但它没有按我想要的方式出现 CREATE TABLE TestTable1 No varchar 50 Value1 float Desc varchar 50 insert into TestTabl
  • 复制已过滤的数据子集:合并或事务复制?

    首先感谢您的阅读 我需要复制基于连接过滤器的数据子集 基于与其他表的联接的过滤器 Microsoft 使用联接过滤器 您可以将行过滤器从一个已发布的表扩展到另一个 这是设置 SQL Server 2012 事务复制订阅上的复制源 复制需要是
  • 使用 Visual Studio 在线构建定义构建 SSIS 解决方案....dtproj 不受 MSBuild 支持,无法构建

    我通过 Visual Studio Online 创建了一个构建定义 用于构建 SSIS 项目 dtproj 构建似乎成功 但出现一条警告 指出 MSBuild 不支持 dtproj 无法构建 SSDT已安装在构建服务器上 有谁知道为什么会
  • ADO 参数化查询不返回任何结果

    我正在使用此查询从经典 asp 页面中的 vbscript 获取一些结果 但它不会返回任何值 该页面是空白的 也没有错误 请问有什么建议吗 dim cmd admin no admin no request QueryString admi
  • SQL性能问题如何修改下面的脚本?

    我编写了一个 SQL 查询 涉及 INNER JOIN LEFT OUTER JOIN UNION 和一个需要很长时间执行的子查询 我的 SQL 技能不是很好 如果有人可以帮助我如何优化以下查询以使其更快 我将不胜感激 SELECT Bra
  • 如何使用 Invoke-Sqlcmd 连接到 SQL Server LocalDB?

    I have sqlcmd exe来自 SQL Server 2008 和 SQL Server 2012 PS C gt Get Command sqlcmd exe Definition C Program Files Microsof
  • 经典 ASP #include virtual 不起作用

    我们正处于从 IIS6 2003 到 IIS8 2012 的迁移过程中 我们必须维护一些经典 ASP 以及 ASP 和 NET 应用程序 完整的应用程序似乎运行良好 例如 我进入 IIS 右键单击文件夹并执行 转换为应用程序 但我们的站点严
  • 纯ASP上传带图片检测

    如何将文件从浏览器上传到运行经典 ASP 的服务器并检测服务器端文件是否是有效图片 对于有效的图片 如何获取其尺寸 通常经典ASP中的文件上传是由第三方组件完成的 这些组件带有DLL文件 需要在服务器上注册 有时还需要花钱 不用说 出于安全
  • 经典的 asp/asp.net 网站 - global.asa 不工作

    最近我得到了一个用经典 ASP 编写的网站来配置和设置 尽管它似乎也有用 ASP NET 编写的页面 我目前遇到的问题是它似乎没有从 global asa 文件中获取设置 例如 Application ConnectionString 当我
  • SQL 查询返回按周、月和年分组的记录。没有记录的周数应返回 0

    给出以下数据 ID CreatedDate ID1 2014 06 04 01 40 56 880 ID8 2014 06 05 00 27 02 403 ID6 2014 06 04 01 51 47 060 ID7 2014 06 05
  • assessionid 名称更改

    如果我有一种简单的改变方法 我的生
  • 经典的asp字符编码

    我在经典 asp 网站中遇到西班牙字符问题 用户可以在 aspx 页面上的表单中提交他们的姓名 地址 然后 aspx 页面将 ajax post 发送到经典的 asp 页面 它所做的所有操作都存储在我们的 Sql 2008 DB 中 我可以
  • 无法与重定向器建立连接。确保“sql browser”服务正在运行

    所以我尝试这个 sql server 2012 由于这个错误我无法打开任何 ssis 包 无法与重定向器建立连接 确保 sql browser 服务正在运行 我的 Sql 浏览器肯定正在运行 我尝试在本地服务 本地系统和网络下更改它 仍然没
  • SQL服务器超时

    我的应用程序是在经典 asp 上开发的 但也使用 asp net 因为我正在将应用程序迁移到 Net 上 它使用 SQL Server 作为数据库并托管在 Windows Server 2003 上 现在的问题是应用程序在很长一段时间内继续
  • 为什么 vbscript Mid 函数显示错误“无效的过程调用或参数:Mid”

    您好 下面是我的 ASPClassic 代码 其中 csvData 是一个包含变量的非常大的字符串 现在在 Mid 函数调用的这一行中出现错误 无效的过程调用或参数 Mid 为什么会发生这种情况 Dim dataLen Dim fromLe
  • 捕获 Unicode 文本(西里尔文)并将其插入 MS Access 数据库

    我继承了一个旧的 Web 应用程序 该应用程序使用经典 ASP 将表单中收集的数据写入 Access 2007 数据库 现在他们需要它能够收集西里尔字母的输入 我完全不熟悉代码页 字符集 也不熟悉非拉丁字母 我尝试将输入表单页面上的字符集更
  • SQL Server:如果存在会大大减慢查询速度

    正在使用SQL Server 2012 我找到了一些关于查询优化的主题 并将 EXISTS 与 COUNT 进行比较 但我找不到这个确切的问题 我有一个看起来像这样的查询 select from tblAccount as acc join
  • 访问数据库 LIMIT 关键字

    我试图让我的页面列表功能在 ASP 中与 Access 数据库一起工作 但我不知道 Microsoft SQL 中 LIMIT 的替代方案 我已经尝试过 TOP 但这似乎不起作用 这是 MySQL 中使用的语句 SELECT FROM cu
  • 在 SQL Management Studio 2012 中调试

    我正在使用 Management Studio 2012 但无法调试任何 SQL 代码 在我点击 调试 按钮后 左侧没有看到任何绿色箭头 并且我的 SQL 对象都没有加载到内存中 当我将光标移到我设置的断点上时 我收到此消息 The bre
  • ELMAH 错误和经典 Asp

    我们已经在我们拥有的 ASP NET MVC 网站上使用 ELMAH 进行错误日志记录 但我们的主网站仍然是经典的 asp 我已经开始为该网站创建错误处理 日志记录结构 但我认为它如果我们能够在所有应用程序中保持错误日志记录的一致性 那就太

随机推荐

  • python-requests 可以像curl一样直接获取url到磁盘上的文件句柄吗?

    curl 有一个选项可以直接将文件和头数据保存在磁盘上 curl setopt curl obj CURLOPT WRITEHEADER header handle curl setopt curl obj CURLOPT FILE fil
  • 如何自定义SimpleHTTPServer发送的页面?

    我在用SimpleHTTPServer我的代码中的类来响应客户端请求 实际上是mininet http mininet org用于网络项目的 python 脚本 客户端每5秒向服务器发送一次请求10 0 0 1 server cmd pyt
  • 教义自定义类型总是改变表

    我添加了一个自定义类型 例如 namespace My SuperBundle Types use Doctrine DBAL Types Type use Doctrine DBAL Platforms AbstractPlatform
  • Android apk 扩展文件 - 可选

    我可以使用主扩展文件作为应用程序中的可选下载选项吗 所以我不需要用 APK 文件下载它 但稍后用户会这样做 当您创建扩展文件时 它应该类似于 main patch
  • 删除已保存图像周围的空白

    我需要拍摄图像并经过一些处理后保存它 当我显示它时 该图看起来很好 但保存该图后 我在保存的图像周围有一些空白 我已经尝试过 tight 选项savefig方法 也没有效果 代码 import matplotlib image as mpi
  • 操作系统和 javascript/HTML5 可以访问本地存储吗?

    我想在浏览器关闭时使用操作系统读取浏览器的 本地存储 我想将客户端数据保存在本地存储中 然后关闭浏览器和互联网 然后让操作系统程序 Windows exe 访问和分析该数据 然后将新数据写入该本地存储区域 以便当浏览器重新启动新数据时数据在
  • 使用 ChartJS 在 Django 中生成多个折线图

    我正在 Django 中工作 在我的模块的功能中绘制一些图表 即 如果我有 2 个模块 我想要 2 个图表 如果有 8 个模块 我想要 8 个图表 模块集成在插件中 这样我就可以列出插件中找到的所有模块 我在 Django 中做了这个 de
  • Express + AngularJS + HTML:ng-include 不起作用(404 - 页面未找到错误)

    我是新来的AngularJS 我正在尝试使用ng include在我的主 HTML 页面中包含外部 HTML 页面 但问题是我无法包含它并得到 404 以下是文件夹结构和代码 项目文件夹结构 按钮 Click jade 这是起始页 doct
  • 在 Vim 中启用 Markdown 突出显示

    我在装有 OS X Lion 的 MacBook Air 终端上使用 Vim 但我似乎找不到一个好的 Markdown 语法突出显示插件 到目前为止我已经尝试过塑料男孩 https github com plasticboy vim mar
  • 将哈希表数据集合导出到 CSV

    我正在尝试将集合哈希表项的名称 值对导出到 CSV 我还没有找到代码的选择对象部分的正确语法 我希望 CSV 文件具有 Url 和 Owner 的列 谢谢您的帮助 System Collections ArrayList collectio
  • Hive from_unixtime 毫秒

    我们在 Hive 中存储了一个时间戳纪元列 BIGINT 我们想要获取该纪元的日期 yyyy MM dd 问题是我的纪元以毫秒为单位 例如1409535303522 因此 选择时间戳 from unixtime timestamp yyyy
  • 用户输入和输出在我的汇编代码中不起作用

    以下程序编译时没有错误 但运行时不会提示任何输入 也不会打印任何内容 有什么问题 我该如何解决它 我使用这些命令来组装和链接 usr local bin nasm f macho32 1 ld macosx version min 10 9
  • Swift 4 Decodable - 以枚举为键的字典

    我的数据结构有一个枚举作为键 我希望下面的内容能够自动解码 这是一个错误还是某些配置问题 import Foundation enum AnEnum String Codable case enumValue struct AStruct
  • selenium / capybara - 无法加载 Firefox 配置文件

    当我使用 selenium 运行测试时 浏览器会反复弹出 指出找不到 firefox 配置文件 我准备了一个与 selenium 一起使用的 Firefox 配置文件 我只是不确定如何告诉 selenium 该配置文件所在的位置 我如何告诉
  • 加载 Magento 页面时出现奇怪的错误

    当我加载前端时 我的浏览器返回那些奇怪的错误 Uncaught ReferenceError Mage is not defined Uncaught ReferenceError Varien is not defined Uncaugh
  • 会话存储安全吗?

    我想使用会话存储来查询数据库中的用户数据一次 然后简单地使用JS来检索它 所以我正在考虑使用会话存储 接下来我的问题是 这样安全吗 请注意 1 JS 无法插入到带有表单的页面 表单只接受字母数字值 因此它只能来自 URL 1 1php 中不
  • Python - 通过代理使用socket.gethostbyname

    我正在使用 TOR 来代理连接 但在代理 DNS 查找时遇到困难socket gethostbyname www yahoo com 我通过使用wireshark 嗅探流量了解到它没有通过代理发送DNS 流量 这是我正在使用的代码的副本 i
  • 如何更改VS的编译器?

    我正在使用 VS 2010 我更改了编译器 C 代码而不是 C 的设置 它工作正常 但问题是 MS 编译器不支持 C99 标准 因此我正在寻找可以与 VS 10 一起使用的 C 编译器 如何做到这一点 提前致谢 MS Visual Stud
  • 我怎样才能知道我的日历意图的结果?

    从我的应用程序中 我启动日历的目的是 Calendar cal Calendar getInstance Intent intent new Intent Intent ACTION EDIT intent setType vnd andr
  • 返回 varchar(max) 存储过程的输出参数截断为 4000 个字符

    我有一个带有 SQL2012 数据库的经典 ASP 应用程序 我最近将表列从 varchar 8000 更改为 varchar max 因为它不够大 无法存储所需的数据 我可以使用需要存储的所有数据更新列 但我用来返回列数据作为输出参数的