请问在SqlServer2000向远程可以发送xml请求吗,比如在存储过程中?

mmkk 2004-01-28 10:35:39
如题.Thanks
...全文
122 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
go123456 2004-01-30
  • 打赏
  • 举报
回复
不太清楚你的意思,我是这样理解的
从外部调用sp,可以以xml格式传入,在sp中可以处理这些xml串,好像是openxml
想从sp中调用外部web服务,肯定是要从库中得到参数,可以用FOR XML 得到参数的xml集合,
然后处理这些参数集合
可以参考ADO.NET 的做法

学艺不精,如有错误,多多指教,谢谢
Tadpole0510 2004-01-29
  • 打赏
  • 举报
回复
关注中
mmkk 2004-01-28
  • 打赏
  • 举报
回复
这些帮助我看过,虽然不是很仔细,但是似乎不合我的需求。
我是希望能在SP中调用远程Web Service.
zjcxc 2004-01-28
  • 打赏
  • 举报
回复
不知道楼主的需求是否指这个.

如果是,就参考SQL联机帮助:
目录中选择:
XML 和 Internet 支持
zjcxc 2004-01-28
  • 打赏
  • 举报
回复
检索和编写 XML 数据
可以执行 SQL 查询返回 XML 格式而不是标准行集的结果。可以直接或从存储过程中执行这些查询。若要直接检索结果,请使用 SELECT 语句的 FOR XML 子句,并在 FOR XML 子句中指定 XML 模式:RAW、AUTO 或 EXPLICIT。

例如,下面的 SELECT 语句从 Northwind 数据库的 Customers 和 Orders 表中检索信息。下面的查询在 FOR XML 子句中指定 AUTO 模式:

SELECT Customers.CustomerID, ContactName, CompanyName,
Orders.CustomerID, OrderDate
FROM Customers, Orders
WHERE Customers.CustomerID = Orders.CustomerID
AND (Customers.CustomerID = N'ALFKI'
OR Customers.CustomerID = N'XYZAA')
ORDER BY Customers.CustomerID
FOR XML AUTO

尽管可用 FOR XML 子句检索 XML 文档形式的数据,但也可用 Transact-SQL OPENXML 函数插入以 XML 文档形式表示的数据。OPENXML 是类似于表或视图的行集提供程序,用于提供内存中 XML 文档上的行集。OPENXML 通过提供 XML 文档内部表示法的行集视图,允许访问 XML 数据,就好象它是关系行集一样。行集中的记录可以存储在数据库表中。OPENXML 可以在 SELECT 和 SELECT INTO 语句中使用,在这些语句中可以指定源表或视图。

下例说明 OPENXML 在 INSERT 和 SELECT 语句中的用法。示例 XML 文档由 <Customers> 和 <Orders> 元素组成。首先,sp_xml_preparedocument 存储过程分析 XML 文档。分析后的文档是 XML 文档各节点(元素、特性、文本、注释等)的树型表示法。然后 OPENXML 引用这个经过分析的 XML 文档并提供该 XML 文档的全部或部分内容的行集视图。使用 OPENXML 的 INSERT 语句从而可将数据从这样的行集插入数据库表。可用几个 OPENXML 调用提供 XML 文档各部分的行集视图并对它们进行处理,例如,将它们插入不同的表中(该过程也称为"将 XML 拆分到表中")。在下例中,一个 XML 文档被这样拆分:使用两个 INSERT 语句将 <Customers> 元素存储在 Customers 表中并将 <Orders> 元素存储在 Orders 表中。

下例还显示带有 OPENXML 的 SELECT 语句从 XML 文档检索 CustomerID 和 OrderDate。

DECLARE @hDoc int
EXEC sp_xml_preparedocument @hDoc OUTPUT,
N'<ROOT>
<Customers CustomerID="XYZAA" ContactName="Joe"
CompanyName="Company1">
<Orders CustomerID="XYZAA"
OrderDate="2000-08-25T00:00:00"/>
<Orders CustomerID="XYZAA"
OrderDate="2000-10-03T00:00:00"/>
</Customers>
<Customers CustomerID="XYZBB" ContactName="Steve"
CompanyName="Company2">No Orders yet!
</Customers>
</ROOT>'
-- Use OPENXML to provide rowset consisting of customer data.
INSERT Customers
SELECT *
FROM OPENXML(@hDoc, N'/ROOT/Customers')
WITH Customers
-- Use OPENXML to provide rowset consisting of order data.
INSERT Orders
SELECT *
FROM OPENXML(@hDoc, N'//Orders')
WITH Orders
-- Using OPENXML in a SELECT statement.
SELECT * FROM OPENXML(@hDoc, N'/ROOT/Customers/Orders') with (CustomerID nchar(5) '../@CustomerID', OrderDate datetime)
-- Remove the internal representation of the XML document.
EXEC sp_xml_removedocument @hDoc
zjcxc 2004-01-28
  • 打赏
  • 举报
回复
XML 和 Internet 支持概述
Microsoft® SQL Server™ 2000 引入了支持 XML 功能的新特性。这些功能组合在一起使 SQL Server 2000 成为可支持 XML 的数据库服务器。这些新特性包括:

能够使用 HTTP 访问 SQL Server。


支持 XDR(XML数据简化)架构并且能够指定对这些架构的 XPath 查询。


能够检索并写入 XML 数据:
使用 SELECT 语句和 FOR XML 子句检索 XML 数据。


使用 OPENXML 行集提供程序写入 XML 数据。


使用 XPath 查询语言检索 XML 数据。
增强了 Microsoft SQL Server 2000 OLE DB 提供程序 (SQLOLEDB),使得可以将 XML 文档设置为命令文本并以流的形式返回结果集。
有关 SQL Server 对 XML 支持的最新更新,请参见 Microsoft Web 站点的 MSDN® 上的 XML Developer Center(XML 开发人员中心)。



说明 Msxml2.dll 是随 SQL Server 2000 一起安装的,但不安装其它工具。例如不安装 Xmlinst.exe,该工具用于配置 Microsoft Internet Explorer 以使用 MSXML2。完整的 MSXML2 包必须安装,以获得该功能。MSXML2 可以从 Microsoft Web 站点的 MSDN 上的 XML Developer Center 下载。


XML 入门
若要使用 Microsoft SQL Server 2000 提供的 XML 功能,必须使用过 XML、URL 语法和 HTTP 方法。还应熟悉下列术语:

XML 文档

是包含 XML 元素和特性的文档。

文档类型定义 (DTD)

定义可用于 XML 文档的元素和特性。

样式表

描述格式化或显示数据的方式。可扩展样式表语言 (XSL) 是 XML 文档中常用的语言。

窗体

是用于收集和提交数据以进行处理的结构化文档。

模板

在 SQL Server 2000 中引入的概念,模板是包含一个或多个 SQL 语句的有效 XML 文档。模板文件用于指定查询(SQL 和 Xpath 查询)。不是在 URL 中指定查询,而是在 URL 中指定包含查询的模板文件。

虚拟根

由 Microsoft Internet 信息服务 (IIS) 引入的概念,通常将虚拟根作为 IIS 的一部分进行管理。

zjcxc 2004-01-28
  • 打赏
  • 举报
回复
发送xml请求是什么意思?
txlicenhe 2004-01-28
  • 打赏
  • 举报
回复
应该可以,没用过。

联机帮助: XML
Tomato77 2004-01-28
  • 打赏
  • 举报
回复
up
Jianli2004 2004-01-28
  • 打赏
  • 举报
回复
可以接收请求?
zjcxc 2004-01-28
  • 打赏
  • 举报
回复
将你的要求详细的描述出来.

只你这样一句,怎么分析啊?

22,294

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧