分享
 
 
 

访问microsoftSQLServer元数据三种方法

王朝mssql·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

在使用 HTTP 访问 Microsoft? SQL Server? 2000 数据库之前,必须安装适当的虚拟目录。在运行 Microsoft Internet 信息服务 (IIS) 的计算机上,使用用于 SQL Server 的 IIS 虚拟目录管理实用工具(在"SQL Server 工具"程序组中单击"在 IIS 中配置 SQL XML 支持")定义并注册新的虚拟目录,即所谓的虚拟根。该实用工具指示 IIS 在新的虚拟目录和 Microsoft SQL Server 实例之间创建关联。有关该实用工具用户界面的信息,请参见 IIS 虚拟目录管理实用工具。

必须将 IIS 服务器和虚拟目录的名称指定为 URL 的一部分。虚拟目录(包括登录、密码和访问权限)中的信息用于建立与特定数据库的连接并执行查询。

可以指定 URL:

直接访问数据库对象,例如表。

在这种情况下,URL 将包括 dbobject 类型的虚拟名称。

执行模板文件。

模板是由一个或多个 SQL 语句组成的有效的 XML 文档。在 URL 中指定模板文件时,将执行存储在模板文件中的 SQL 命令。可以直接在 URL中指定 SQL 查询,但考虑到安全性,不建议这样做。

执行 XPath 查询。

对指定作为 URL 一部分的带批注的映射架构文件执行 XPath 查询。

虚拟名若要使模板文件、映射架构文件或数据库对象(如表或视图)成为 URL 的一部分,必须创建 template、schema 和 dbobject 类型的虚拟名称。将虚拟名称指定为 URL 的一部分,以便执行模板文件、对映射架构文件执行 XPath 查询或直接访问数据库。

在 URL 中指定的虚拟名称类型(template、schema、dbobject)还用于决定在 URL 中指定的文件类型(模板文件或映射架构文件)。例如,

下面的 URL 使用模板访问 SQL Server 数据库:

http://IISServer/nwind/TemplateVirtualName/Template.xml

TemplateVirtualName 是 template 类型的虚拟名称,用于标识指定的文件 (Template.xml) 是模板文件。

创建 nwind 虚拟目录

新增信息 - SQL Server 2000 SP3。

下例创建 nwind 虚拟目录。在大多数用于说明 Microsoft? SQL Server? 2000 的 URL 访问的示例中,都使用 nwind 虚拟目录。

在创建 nwind 虚拟目录之前,需要一个与将要创建的虚拟目录相关联的物理目录(例如,C:InetpubWwwroot

wind,此处 nwind 是与将要在以下过程中创建的 nwind 虚拟目录相关联的物理目录)。

还需要在与该虚拟目录相关联的物理目录下创建两个子目录(例如,C:InetpubWwwroot

windemplate 和

C:InetpubWwwroot

windschema)。这些是与 template 和 schema 类型的虚拟名称相关联的目录,这两种类型的目录是作为创建 nwind虚拟目录的一部分而创建的。

创建 nwind 虚拟目录

在 Microsoft SQL Server 程序组中,单击"在 IIS 中配置 SQL XML 支持"。

展开服务器,然后单击想要的 Web 站点。

在"操作"菜单上指向"新建"子菜单,然后单击"虚拟目录"命令。新虚拟目录的属性页将显示在屏幕上。

在"新的虚拟目录属性"对话框的"常规"选项卡上,输入虚拟目录的名称。对于本例,键入 nwind 和物理目录路径(例如C:InetpubWwwroot

wind,假设在 C:InetpubWwwroot 目录中已创建了 nwind 子目录)。或者可以使用"浏览"按钮选择目录。

在"安全"选项卡上,选择"SQL Server"和"使用 Windows 集成身份验证"。

在"数据源"选项卡上,在"SQL Server"框中输入服务器的名称,例如 (local);如果在指定的计算机上安装了多个实例,则输入 SQL Server2000 实例的名称(可选)。在"数据库"框中,输入 Northwind 作为默认数据库的名称。

在"设置"选项卡上,选择"允许 URL 查询"、"允许模板查询"、"允许 XPath"和"允许 POST"选项。

在"虚拟名称"选项卡上,单击"新建"按钮以创建模板类型的虚拟名称。

在"虚拟名称配置"对话框中:

在"虚拟名称"框内输入

template(可以是用户指定的任意名称)。在"类型"列表中,选择"模板"。输入路径(例如,C:InetpubWwwroot

windemplate,假设与虚拟目录相关联的物理目录下有一个子目录 template,但并不检查该目录是否存在)。单击"保存"按钮保存虚拟名称。

在"虚拟名称"选项卡上,单击"新建"按钮以创建架构类型的虚拟名称。

在"虚拟名称"框内输入schema(可以是用户指定的任意名称)。在"类型"列表中,选择"架构"。输入路径(例如,C:InetpubWwwroot

windschema,假设与虚拟目录相关联的物理目录下有一个子目录 schema)。单击"保存"按钮保存虚拟名称。

在"虚拟名称"选项卡上,单击"新建"按钮以创建模板和架构类型的虚拟名称。

在"虚拟名称"框内输入 dbobject(可以是用户指定的任意名称)。在"类型"列表中,选择 dbobject。单击"保存"按钮保存虚拟名称。

单击"确定"按钮保存设置。

这就创建了虚拟目录 nwind。默认情况下,使用该虚拟目录对 Northwind 数据库执行指定的查询。

若要测试虚拟目录,请在浏览器中键入:/nwind?sql=SELECT"http:///nwind?sql=SELECT * FROM Employees FOR XML AUTO&root=root 并按 ENTER 键。

使用 HTTP 访问 SQL Server

新增信息 - SQL Server 2000 SP3。

可以使用 HTTP 访问 Microsoft? SQL Server? 2000。有关 SQL ISAPI 扩展所支持的 URL 语法的更多信息,请参见 URL Access。在可以使用HTTP 指定查询前,必须先用用于 SQL Server 的 IIS 虚拟目录管理实用工具创建一个虚拟根。有关更多信息,请参见创建 nwind 虚拟目录。

SQL Server 的 HTTP 访问能力使您得以:

直接在 URL 中指定 SQL 查询,例如:

http://IISServer/nwind?sql=SELECT+*+FROM+Customers+FOR+XML+AUTO&root=root

指定 FOR XML 子句以 XML 文档而不是标准行集的形式返回结果。根参数可标识单一的顶层元素。

直接在 URL 中指定模板。

模板是包含一个或多个 SQL 语句的有效的 XML 文档。模板使您得以将数据放在一起以形成有效的 XML 文档,但直接在 URL 中指定查询时不一定是这样。例如:

SELECT+*+FROM+Customers+FOR+XM'http://IISServer/nwind?template=SELECT+*+FROM+Customers+FOR+XM

L+AUTO

在 URL 中指定模板文件。

在 URL 中写入长 SQL 查询会很麻烦。此外,浏览器对在 URL 中可以输入的文本量可能有限制。若要避免这些问题,可以编写模板并将其存储在文件中。模板是包含一个或多个 SQL 语句和 XPath 查询的有效的 XML 文档。可以在 URL 中直接指定模板文件,例如:

http://IISServer/nwind/TemplateVirtualName/templatefile.xml

在 URL 中,TemplateVirtualName 是使用用于 SQL Server 的 IIS 虚拟目录管理实用工具创建的 template 类型的虚拟名称。

模板文件还删除来自用户的数据库查询的详细信息以增强安全性。通过将模板文件存储在注册数据库时所在的虚拟根目录(或其子目录)中,删除虚拟根上的 URL 查询处理服务并只允许 SQL Server XML ISAPI 处理文件及返回结果集,从而加强了安全性。

指定在带批注的 XML 数据简化 (XDR) 架构(也称为映射架构)上执行的 XPath 查询。

从概念上讲,对映射架构编写 XPath 查询与使用 CREATE VIEW 语句创建视图并对视图编写 SQL 查询相似,例如:

http://IISServer/nwind/SchemaVirtualName/schemafile.xml/Customer[@CustomerID="ALFKI"]

在这个 URL 中:

SchemaVirtualName 是使用用于 SQL Server 的 IIS 虚拟目录管理实用工具创建的 schema 类型的虚拟名称。

Customer[@CustomerID="ALFKI"] 是在该 URL 中指定的 schemafile.xml 上执行的 Xpath 查询。

直接在 URL 中指定数据库对象。

可以将数据库对象(如表和视图)指定为 URL 的一部分,并对数据库对象指定 Xpath 查询,例如:

http://IISServer/nwind/dbobjectVirtualName/XpathQuery

在这个 URL 中,dbobjectVirtualName 是使用用于 SQL Server 的 IIS 虚拟目录管理实用工具创建的 dbobject 类型的虚拟名称。

说明

当在 URL 中执行需要资源(如内存)的操作(创建临时表和临时存储过程、声明游标、执行sp_xml_preparedocument 等等)时,必须执行适当的相应命令(如 DROP TABLE、DROP PROCEDURE、DEALLOCATE 游标或 EXECUTE sp_xml_removedocument)以释放资源。

XML 文档和文档片段当用 root 参数执行模板或查询时,结果是有单个顶层元素的完整 XML 文档。例如,下列 URL 执行模板:

http://IISServer/VirtualRoot/TemplateVirutalName/MyTemplate.xml

下面是一个示例模板文件 (MyTemplate.xml):

SELECT

*

FROM

Customers

FOR XML AUTO

模板中的 标记为结果 XML 文档提供了单个的顶层元素。

可以直接在 URL 中指定查询。在此例中,root 参数指定返回文档中的顶层元素:

http://IISServer/

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有