论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > Asp.net教程
Tag:静态页面,treeview,gridview,repeater,dataset,sqldatareader,ado.net,上传,三层,ajax,xml,留言本,新闻发布,商城,注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,触发器,socket,form认证,登录,视频教程

在 IIS 中配置 SQL XML 支持

文章类别:Asp.net | 发表日期:2008-10-5 22:06:41

首先,说一下我们的例子目的--一让数据库输出XML,并且在.net体系下调用出来。

这个系统的数据层是用SQL server数据库,中间层就用SQL自带的工具“在 IIS 中配置SQL XML 支持”实现就可以了。好的,现在我们开始来做了,首先配置让SQL 输出 XML :

这个东西听起来似乎有些神秘,其实就是在我们普通的查询语句后边增加:FOR XML AUTO 就可以了。

举一个例子:

  SELECT TOP 100 topic,name,time
  FROM bbs where [order]=1 ORDER BY [Time] DESC
  FOR XML AUTO

这条语句在SQL的查询分析器里边执行的结果,大家会发现:输出的已经不是我们传统上概念的表格了,是几排很长的字符串,内容就是我们所需的XML代码。

这样第一步,让SQL输出XML就完成了。

 


然后开始我们的第2步,让XML文件可以用web的方式调用

这条语句调试成功之后,大家可以建立一个文件:例如aaa.xml

内容如下:


<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
  <sql:query>
  SELECT TOP 100 topic,name,time
  FROM bbs where [order]=1 ORDER BY [Time] DESC
  FOR XML AUTO
  </sql:query>
</ROOT>

在c:\建立一个bbb目录把他放进去。

中间的部分就是我们传统的SQL语句,前后封装的话就是我们通用的一个格式。

把这个文件放到一个随意的目录里边,然后打开SQL的“在 IIS 中配置 SQL XML 支
持”在需要XML支持的站点建立一个虚拟目录,名称就叫做ccc吧,本地路径自然是我们的c:\bbb了。
然后点安全性--输入你SQL得用户名和密码,然后是数据源,就是你的数据库位置了默认的数据库。
然后点设置,选择允许模板查询,然后点虚拟名称,点新建类型是template名称就叫
ddd吧,对应的文件就是我们的aaa.xml。

然后在IE里边打开:http://你的机器名/ccc/ddd
看到什么了?对,就是你的那个xml的文件在SQL查询的时候输出的内容。
什么没有输出?打开你的“Internet 信息服务(IIS)管理器”,选择“web扩展服
务”,
然后是把“所有未知的ISAP扩展”选择允许。现在OK了吧?

 

好的,然后就是我们最关键的一步第3步--如何把这个动态生成的XML文件在VS.net里边调用了。


首先我们要建立一个空的非结构化的dataset1,然后在源代码里边在this.dataSet1.Locale = new System.Globalization.CultureInfo("zh-CN");
后边加一句this.dataSet1.ReadXml("http://你的机器名/ccc/ddd");

恭喜你,你现在已经可以把动态生成的这个XML文件做为一个只读的dataset来使用了。

视频教程列表
文章教程搜索
 
Asp.net推荐教程
Asp.net热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058