【 tulaoshi.com - SQLServer 】
除了XML 技术之外,Microsoft SQL Server 2000 的开发者们也把通过HTTP 访问的特性(HTTP access9 作为SQL Server 2000 的一个核心特性。这样用户完全可以把SQL Server 放到一个URL 上了,从而保证开发人员和潜在的最终用户都能简单地通过一个URL 来访问SQL Server。 本节我们主要介绍以下三个问题: 如何创建虚拟目录 HTTP 的语法 HTTP 的访问能力
20.4.1 创建虚拟目录
在使用HTTP 访问SQL Server 2000 数据库前必须首先利用IIS 专门为SQL Server 提供的虚拟目录管理器来创建虚拟目录(virtual directory), 同时确保使用的操作系统支持IIS 服务器。创建虚拟目录其主要目的就是在SQL Server 实例与新创建的虚拟目录之间建立新的连接。下面以一个具体的例子来介绍创建虚拟目录要执行哪些步骤。
(1) 在SQL Server Tool 程序单中选择Configure SQL XML Support in IIS 选项。
(2) 打开要创建虚拟目录的服务器图标,然后选择管理站点图标。右击该图标在弹出菜单中选择New ,单击Virtual Directory。
(3) 选中General 标签页,如图20-3 所示。
(4) 该标签页用来给出HTTP 存取数据库数据时所要使用的虚拟目录以及虚拟目录的真实目录的路径。真实目录主要存放通过该虚拟目录要访问的文件,此外模板文件(template files) 和注释匹配模式文件(annotated mapping schema files) 也存储在该目录。在该例中我们在Virtual Directory Name 中输入VirtualRoot; 在Local Path 中输入 E:Inetpubwwwroot VirtualRoot。
(5) 选中Security 标签页,如图20-4 所示。
该标签页用来定义登录的认证方法,共在三种IIS 认证模式。 Always log on as
Windows 和SQL Server 帐号与IIS 认证安全的匿名访问模式相匹配。匿名访问是指任何人都可以访问虚拟目录,但是访问服务器的任何一个客户都必须提供正确的帐号和口令才能够登录成功。其中SQL Server 选项表示当指定SQL Server 登录时,虚拟目录的所有用户都可以使用该SQL Server 登录帐号;Windows 选项表示为所有使用该虚拟目录的用户指定一个Windows 帐号,在缺省情况下使用安装IIS 时的缺省用户IUSR_ServerName。
Use Windows Integrated Authentication
该选项表示使用Windows NT 或Windows 2000 的IIS 认证方法,即合法的 Windows NT 或Windows 2000 用户才具有访问虚拟目录的权限。该访问模式要求 Windows 用户也具有访问SQL Server 的权限。 Use Basic Authentication (Clear Text) to SQL Server account
该选项是指通过SQL Server 登录和口令来进行安全认证。本认证模式与IIS 的基本认证模式不同。我们可以使用匿名认证。 (6) 选中Data Source 标签页,如图20-5 所示。在Data Source 标签页主要完成两个任务,其一是选择一个SQL Server 2000 运行实体,其二选择包含在该实体内且被HTTP 访问的数据库。在本例中选择Pubs 数据库。
(7) 选中Setting 标签页,如图20-6 所示。 Setting 标签页用来确定将使用何种SQL Server 2000 访问类型来通过虚拟目录进行数据访问。应该指出模板(Template) 文件和模式(Schema) 文件可以存储在任何地方。 Allow URL queries
表示直接在URL 中执行SQL 查询,但是考虑到访问的安全性我们建议不使用该选项。 Allow template queries
表示在URL 中执行已存在的模板文件。模板是合法的XML 文档,包括一个或多个SQL 查询。在缺省情况下使用该选项。 Allow XPath
表示直接在URL 中对注释匹配模式进行查询。
(8) 选中Virtual Names 标签页,如图20-7 所示。
该标签页主要用来定义虚拟名称。在URL 中只能使用虚拟名称,基于安全考虑,任何关于执行的对象以及文件的存储位置等信息都被隐藏。 Defined virtual names 表示在访问网络资源时将要用到的虚拟名称。比如通过http://IISServer/VirtualRoot/ temvir/可以访问位于VirtualRoot 虚拟目录下的temvir。 Type 指出要创建的虚拟名称属于哪一个查询类型。 dbobject 表示查询的是数据库对象。 schema 表示对匹配模式执行Xpath 查询。 template 表示模板文件中的SQL 查询。 path 指出模板或模式所在的目录路径,该路径可以是相对路径也可以是绝对路径。如果查询类型为dbobject, 则不需指明路径。该路径可以指文件夹(虚拟名称)的路径也可以指一文件路径。如果指文件夹(虚拟名称)的路径