如何从TSQL调用Web服务? (SQL 服务器 2000)

2023-12-09

我想从 SQL Server 2000 中的 TSQL 调用 Web 服务。我尝试使用以下代码:

Declare @Object as Int; 
Declare @ResponseText as Varchar(8000);
Exec sp_OACreate 'MSXML2.XMLHTTP', @Object OUT;
Exec sp_OAMethod @Object, 'open', NULL, 'get','http://server/ws/service1.asmx/Test', 'false';
Exec sp_OAMethod @Object, 'send';
Exec sp_OAMethod @Object, 'responseText', @ResponseText OUTPUT;
Select @ResponseText Resultado;
Exec sp_OADestroy @Object;

为此,我必须启用 Ole Automation:

sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'Ole Automation Procedures', 1;
GO
RECONFIGURE;
GO

在我的测试服务器上工作正常,问题是在生产服务器上运行

sp_configure 'Ole Automation Procedures', 1; 

我收到以下错误:

配置选项“Ole Automation procedures”不存在,或者它可能是高级选项。

跑步时

exec sp_configure 

测试服务器上的记录“Ole Automation procedures”不会出现在生产服务器上。

Update

我修改代码来捕获错误:

Declare @Object as Int; 
Declare @ResponseText as Varchar(8000);
Exec sp_OACreate 'MSXML2.XMLHTTP', @Object OUT;
Exec sp_OAMethod @Object, 'open', NULL, 'get','http://server/ws/service1.asmx/Test', 'false';
Exec sp_OAMethod @Object, 'send';
Exec sp_OAMethod @Object, 'responseText', @ResponseText OUTPUT;
EXEC sp_OAGetErrorInfo @Object
Select @ResponseText Resultado;
Exec sp_OADestroy @Object;

指令“sp_OAGetErrorInfo EXEC @ Object”返回:(0x8004271A ) srv_convert 错误。

根据微软的说法(link)是SqlServer的问题。因为在我的例子中,网络服务的结果超过 4000 个字符。

如何从 SQL 调用 Web 服务?


我刚刚偶然发现了同样的错误 - “(0x8004271A) srv_convert 中的错误。”

要克服字符限制,请使用 #tmp 表,如下所示:

Create table #tmp(dt nvarchar(max))
insert into #tmp 
exec @hr =sp_OAGetProperty @objWinHttp, 'ResponseText'
Select dt from #tmp -- single column/single row.
Drop Table #tmp -- clean up

解决方案来源

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

如何从TSQL调用Web服务? (SQL 服务器 2000) 的相关文章

  • 在实体框架 6 中使用 SqlQuery>

    我正在尝试在 EF 6 中执行 SQL 查询 select查询返回两个字符串列 例如select a b 并且可以有任意数量的行 我想将结果映射到字典 但我无法摆脱以下错误 错误 1 无法将类型 System Data Entity Inf
  • 从完整路径解析文件名和路径

    我需要使用 SQL 查询从完整路径解析文件名和文件路径 例如 完整路径 SERVER D EXPORTFILES EXPORT001 csv FileName Path EXPORT001 csv SERVER D EXPORTFILES
  • MySQL 5:我的 GROUP BY 字段的顺序重要吗?

    Peeps 我的 MySQL 查询中有一些聚合 计算字段 我的 GROUP BY 子句是动态生成的 具体取决于用户在 Web 表单中选择的选项 很好奇 GROUP BY 子句中列出的字段顺序是否会对计算产生任何影响 例如 SUM AVERA
  • 查询获取每条记录的最小日期[重复]

    这个问题在这里已经有答案了 我想获取表中每条记录的最小日期 该表具有多个带有一个主键的日期条目 看看我的桌子 CaseNo Entry date ABC 001 2 12 13 ABC 002 2 09 13 ABC 001 1 01 13
  • 将逗号分隔的主数据替换为列中的描述

    有 2 个 SQL Server 表 Products Name Status Code Product 1 1001 1003 Product 2 1001 1005 1006 Status Code Description 1001 S
  • MySQL通过UPDATE/DELETE合并重复数据记录

    我有一个看起来像这样的表 mysql gt SELECT FROM Colors ID USERNAME RED GREEN YELLOW BLUE ORANGE PURPLE 1 joe 1 null 1 null null null 2
  • MySQL,连接两列

    MySQL 表中有两列 SUBJECT and YEAR 我想生成一个字母数字唯一编号 其中包含主题和年份的串联数据 我怎样才能做到这一点 是否可以使用像这样的简单运算符 您可以使用CONCAT http dev mysql com doc
  • 从 SQL 数据库获取日期时间

    我的数据库表中有一个 DateTime 记录 我编写一个查询从数据库中获取它 string command2 select Last Modified from Company Data where Company Name Descrip
  • 使用显式创建表语句与 select into 创建表

    使用显式创建表语句和加载数据与选择数据之间是否存在性能差异 此示例仅显示 2 列 但问题是针对使用非常大的表 下面的示例也使用临时表 尽管我也想知道使用常规表的效果 我认为无论表格类型如何 它们都是相同的 临时表场景 Explicitly
  • 获取从开始日期到结束日期的活跃周数

    我的订阅数据如下所示 数据显示用户何时购买订阅 它有user id subscription id start date and end date 我已经得出wk start and wk end从中 user subscription i
  • 迁移问题:MS SQL > MySQL:插入缓冲区内存

    我在使用 MySQL Workbench 上的内置迁移工具时遇到问题 我正在将一个非常大的数据库从 MS SQL 2014 迁移到 MySQL MS SQL 服务器本地部署在我的 Windows 8 1 桌面上 MySQL 服务器在我的网络
  • where 子句中的双 %% ?

    我有一个 where 子句 如下例所示 WHERE subject LIKE chef AND dep LIKE psy 使用 1 或 2 符号有什么区别 我知道其中一个的含义 通配符 但不知道第二个添加的功能是什么 该查询可能是一个拼写错
  • 更高效的 LINQ 查询

    有人可以帮我将此查询循环变成高效的 Linq 查询吗 我将其加载到 TreeView 中 因此必须附加每个项目 包含也非常低效 延迟加载项目也不起作用 事实上 这个查询访问数据库的次数比应有的要多 public IQueryable
  • SQLite 使用循环重新编号 ID

    您好 我有一个包含许多插入行的表 我需要按 id 对所有行重新编号并排序 我找到了这段代码 但它对我不起作用 SET i 100 UPDATE main Categories SET ID i i 1 WHERE Name White AL
  • PostgreSQL WHERE 计数条件

    我在 PostgreSQL 中有以下查询 SELECT COUNT a log id AS overall count FROM Log as a License as b WHERE a license id 7 AND a licens
  • Razor C# - 从数据库获取数据

    我正在使用 WebMatrix 我创建了一个数据库并放置了一个包含几行数据的表 我可以连接到它并获取数据WebGrid 但它只提供了一种使用表格输出数据的方法 这是我的 shows cshtml 代码 var db Database Ope
  • 如何在 Postgresql 中将 GIST 或 GIN 索引与 hstore 列一起使用?

    我正在使用 postgresql 9 3 的 hstore 我正在尝试对 hstore 列使用索引就像文档所述 http www postgresql org docs 9 3 static hstore html 我的问题是索引似乎没有被
  • 如何在sql server 2008R2中将单个单元格拆分为多个列?

    我想将每个名称拆分为各个列 create table split test value integer Allnames varchar 40 insert into split test values 1 Vinoth Kumar Raj
  • 索引在 NOT IN 或 <> 子句中起作用吗?

    我读过 至少 Oracle 数据库中的普通索引基本上是 B 树结构 因此存储处理适当根节点的记录 小于 根的记录被迭代地存储在树的左侧部分 而 大于 根的记录被存储在右侧部分 正是这种存储方法有助于通过树遍历实现更快的扫描 因为深度和广度都
  • 总结同一个 SQL 表上的两个条件

    给定一个 SQL 表 Transactions ID INT COMPANY ID INT STATUS INT where STATUS IN 0 1 表示免费交易并且STATUS IN 2 3 表示可计费交易 简单的 我希望 ANSI

随机推荐

  • Prolog - 将数字合并为数字

    我想将数字列表合并为数字 1 2 3 gt 123 我的谓词 merge X X merge H T X merge T X1 X is X1 H 10 但现在我得到 1 2 3 gt 33 另一种方法是将到目前为止已处理的内容乘以十 但您
  • R:C 符号名称不在加载表中 - 与外部 .c 文件链接时出错

    我正在尝试使用日晷用于求解常微分方程组 ODE 的包 使用SUNDIALS 首先 我尝试运行手册中的示例 当 ODE 的右侧在 C 文件中描述时 Rsundials 可用于求解 ODE 首先 ODE 在 C 文件中进行描述 包中的示例程序
  • 比较 uint64_t 和 float 的数值等效性

    我正在编写一个协议 它使用RFC 7049作为其二进制表示 该标准规定 如果数字值等于相应的 64 位数字 则协议可以使用数字的 32 位浮点表示 转换不得导致精度损失 哪些 32 位浮点数可以大于 64 位整数并且在数值上与它们等价 正在
  • 卸载矩阵并释放内存

    我可以从文本文件加载矩阵 load mydata txt 问题是我的矩阵文件大约有 250Mb 经过几次这样的加载后 我没有内存来处理下一个文件 如何卸载它并释放资源以供进一步使用 Use clear or 清除变量 默认情况下 MATLA
  • 使用 libre office 创建的 Acrofield 不可填写代码,除非我编辑 pdf 一次

    我正在 Libre Office 中创建表单控件并将文档导出为 pdf 尝试使用 itextsharp 即 C 程序 设置控件 文本框 的文本只会清空该框 但是 如果我使用 acrobat reader 打开 pdf 并编辑框中的文本 则将
  • 将 C# 代码组织到不同的文件中

    我的主代码文件已经达到了大约一千行长并且变得难以管理 也就是说 我开始感到困惑 不知道在哪里可以找到一些东西 评论很好 但是东西太多了 我真的希望能够将我的代码组织到不同的文件中 每个文件都有自己的用途 当我编辑这些其他文件时 我希望在输入
  • 带有图像和标签的 Python GTK3 按钮

    我试图获取带有图像和标签的按钮 但没有成功 我可以有带有标签或图像的按钮 但不能两者兼而有之 这是我的代码部分 try pb Pixbuf new from file at size myimg jpg 100 100 except pb
  • 想了解为什么 switch_to_alert() 收到删除线以及如何修复

    我试图 接受 一个简单的模态警报 只有 确定 按钮的屏幕弹出窗口 但 driver switch to alert 中的 switch to alert 正在接收删除线 在 pycharm 上 我正在使用 OpenPyxl 的数据驱动测试脚
  • swig 没有匹配的重载函数

    我在使用 SWIG 将 C 代码包装在 PHP 中时遇到问题 我有一个 C 类 其方法声明如下 int hexDump string dmpstr bool space true const 我还将 std string i 包含在我的接口
  • 使用 LINQ 在 C# 中合并字典

    我有三本字典 比如 Dictionary
  • CoreData 中 NSDictionary 属性的更新未保存

    我在 CoreData 中创建了一个实体 其中包含作为 NSDictionary 实现的 Transformable 属性类型 NSDictionary 属性仅包含自定义类的值 自定义类的属性都是NSString类型 自定义类符合 NSCo
  • 将 JSON 对象反序列化为嵌套 C# 对象

    Edit 我想我应该提到我无法控制 JSON 并且我知道通常我的 C 对象应该与 JSON 匹配 我的问题不是 为什么这不反序列化 我知道为什么不是 我问是否有一种方法可以按照我要求的方式反序列化 JSON 我正在使用 Newtonsoft
  • 将 for 循环转换为向量(向量化)

    对于那些超级专家 我想知道您是否看到一种快速方法将以下 for 循环转换为更有效的单行向量计算 Define A size n 1 B size n m C size n 1 B 2 200 3 300 4 400 C 1 2 1 for
  • 以下用于添加到内存引用的字节说明符在 NASM 汇编器中起什么作用?

    下面的代码 section data Snippet db KANGAROO section text global start start mov ebx Snippet add byte ebx 32 将 BX 中的内存地址所指的数字加
  • Swift 字符串文字赋值给 C 变量

    在 Swift 中 当调用 C 函数时 Swift 字符串作为参数传递时会自动强制转换为 CString 但是 在填写 C 结构体或全局变量时 我没有得到相同的行为 strlen swiftString Works CGlobalStruc
  • Asp.net mvc 多对多关系视图

    大家好 我创建了几个实现多对多关系的模型 现在我在正确格式化 设计 创建和编辑 视图时遇到问题 这是我的模型 学生模型 namespace HMS Models Table Students Schema Admission public
  • 使用 Cognito 用户池,而不使用 Cognito 联合身份(身份池)

    我只想使用 Cognito 用户池 因此我想将身份联合与 Cognito 用户池一起使用 而不使用 Cognito 联合身份 身份池 我已按照文档进行操作 但无法成功 http docs aws amazon com cognito lat
  • 如何使用 canvas 和 Kinetic.js 裁剪图像

    我的函数绘制一个图像 并使用 Kinetic js 在另一层上绘制另一个图像 但我想裁剪名为 smsTopBg image 的第二个图像 window onload function INITIALISATION var stage new
  • Android Google Drive API 异常:403 禁止

    我正在开发一个可以访问 Google Drive 上用户的 appdata 文件夹的应用程序 当我处于调试模式时 该应用程序运行良好 当我发布应用程序并尝试连接到 Google Drive 时 在选择要连接的帐户后 它会出现此错误 com
  • 如何从TSQL调用Web服务? (SQL 服务器 2000)

    我想从 SQL Server 2000 中的 TSQL 调用 Web 服务 我尝试使用以下代码 Declare Object as Int Declare ResponseText as Varchar 8000 Exec sp OACre