易截截图软件、单文件、免安装、纯绿色、仅160KB

SQL Server中读取XML文件的简单做法

 SQL Server 2000使得以XML导出数据变得更加简单,但在SQL Server 2000中导入XML数据并对其进行处理则有些麻烦。  如果你参考Books Online(BOL),你会发现有相关的条目,包括OPENXML以及 OPENROWSET。所有的这些例子都支持将XML文本作为已经声明的变量,这对于经常处理文本的用户来说非常方便,但对于希望在开发中读取XML文件并进行相应处理的开发人员来说就不是这样了。处理这样的问题,或许最好从内到外来对其进行分析。
  OPENXML是一个rowset函数(即返回一个rowset),它的工作方式类似于rowset函数OPENQUERY和OPENROWSET。使用OPENXML可以对XML数据执行JOINs操作而无需首先导入数据。你还可以将其同INSERT、SELECT、UPDATE以及DELETE等操作联合使用。
  然而,要使用OPENXML,你必须执行两项OPENQUERY和OPENROWSET并不需要的任务。这两项任务需要两个系统存储进程。
  第一个是sp_xml_preparedocument,它将读取特定的XML文本并将其内容提取到内存中。其语法如下:
sp_xml_preparedocument @hdoc = OUTPUT,
[, @xmltext = ]
[, @xpath_namespaces =
  具体参数如下:
  @hdoc:指向某内存区域的句柄(从作用上看等同于一个指针),相关数据存放在这里。注意这是一个输出变量,当该进程运行后,该变量将包含指向XML文件内容在内存地址的句柄。由于你需要在随后使用此结果,因此要确保对其进行保存;
  @xmltext:实际上你所希望处理的XML文本;
  @xml_namespaces:为了正常操作你的XML数据所需要的任何名字空间索引(namespace references)。注意在这里出现的任何URL都需要用尖括号(<>)括起来;
  假设所传递的这些参数都有效,并且XML文档存在,那么你的XML数据就会被存放到内存中去。现在你就可以调用sp_xml_preparedocument,传递存放有XML文件的变量,然后执行OPENXML。语法如下:
OPENXML(idocint [in],rowpatternnvarchar[in],[flagsbyte[in]])
[WITH (SchemaDeclaration | TableName)]
  注意:在本文中没有足够的文字来描述OPENXML所接收的参数。请参阅BOL以获取更多信息。在Transact-SQL Reference中查找OPENXML。
  现在我们已经到达了最后的步骤。所有剩下的工作就是导入一个实际的XML文件到SQL并进行处理(很奇快为什么所有的BOL示例都没有涉及到这一关键的部分)。
  (我必须感谢我的同事Billy Pang所给予的帮助。他帮助我解决这个问题,并给出了代码——尽


相关文档:

航空公司管理系统(VC++ 与SQL 2005)

系统环境:Windows 7
软件环境:Visual C++ 2008 SP1 +SQL Server 2005
本次目的:编写一个航空管理系统
      这是数据库课程设计的成果,虽然成绩不佳,但是作为我用VC++ 以来编写的最大程序还是传到网上,以供参考。用VC++ 做数据库设计并不容易,但也不是不可能。以下是我的程序界面,后面 ......

通过LINQ to XML生成 XML

标签:数据访问     ADO.NET
     通过LINQ to XML生成 XML     XML常常用语在客户机和服务器之间交流数据,或者多层应用程序之间交流。
    用LINQ to SQL查询数据,再用LI ......

SQL SERVER中临时表、持久表、表变量的区别

 与持久表一样,优化器创建并维护临时表的分布统计信息,并跟踪它的基数。当索引临时表时,这种能力尤其重要。当优化器需要评估选择性时,它就可以根据这些分布统计信息生成经过优化的计划。这是临时表在性能方面不同于表变量的主要特性之一。
此外,因为临时表会维护统计信息,如果上次编译后被引用表有足够多的行发 ......

一个SQL面试题

 题目要求
阿里baba的面试题
有三个表
    学生表  S 
          SID  SNAME
  教师课表 T 
          TID  TNAME  TCL
  成绩表  SC &n ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号