sqlserver中读取xml文件的简单做法

sqlserver中读取xml文件的简单做法

ID:24652539

大小:50.00 KB

页数:3页

时间:2018-11-15

sqlserver中读取xml文件的简单做法_第1页
sqlserver中读取xml文件的简单做法_第2页
sqlserver中读取xml文件的简单做法_第3页
资源描述:

《sqlserver中读取xml文件的简单做法》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、SQLServer中读取XML文件的简单做法>>教育资源库  SQLServer2000使得以XML导出数据变得更加简单,但在SQLServer2000中导入XML数据并对其进行处理则有些麻烦。  如果你参考BooksOnline(BOL),你会发现有相关的条目,包括OPENXML以及OPENROL文本作为已经声明的变量,这对于经常处理文本的用户来说非常方便,但对于希望在开发中读取XML文件并进行相应处理的开发人员来说就不是这样了。处理这样的问题,或许最好从内到外来对其进行分析。  OPENXML是一个rol_prepareument,它将读取特定的X

2、ML文本并将其内容提取到内存中。其语法如下:sp_xml_prepareumenth=OUTPUT,[,xmltext=][,xpath_namespaces=  具体参数如下:h:指向某内存区域的句柄(从作用上看等同于一个指针),相关数据存放在这里。注意这是一个输出变量,当该进程运行后,该变量将包含指向XML文件内容在内存地址的句柄。由于你需要在随后使用此结果,因此要确保对其进行保存;xmltext:实际上你所希望处理的XML文本;xml_namespaces:为了正常操作你的XML数据所需要的任何名字空间索引(namespacereferences

3、)。注意在这里出现的任何URL都需要用尖括号(<>)括起来;假设所传递的这些参数都有效,并且XML文档存在,那么你的XML数据就会被存放到内存中去。现在你就可以调用sp_xml_prepareument,传递存放有XML文件的变量,然后执行OPENXML。语法如下:OPENXML(iint[in],roaDeclaration

4、TableName)]  注意:在本文中没有足够的文字来描述OPENXML所接收的参数。请参阅BOL以获取更多信息。在Transact-SQLReference中查找OPENXML。  现在我们已经到达了最后的步骤。

5、所有剩下的工作就是导入一个实际的XML文件到SQL并进行处理(很奇快为什么所有的BOL示例都没有涉及到这一关键的部分)。(我必须感谢我的同事BillyPang所给予的帮助。他帮助我解决这个问题,并给出了代码尽管出于本文需要我对代码进行了裁减。谢谢Billy!)基本的技巧是,将文件逐行按文本读取。然后把所有读取的行连接为一个大的VARCHAR变量。最后,将变量传递给前面所说的代码。  以下就是读取文件并将其内容存放到某变量的代码:DECLAREFileNamevarchar(255)DECLAREExecCmdVARCHAR(255)DECLAREyIN

6、TDECLARExINTDECLAREFileContentsVARCHAR(8000)CREATETABLE#tempXML(PKINTNOTNULLIDENTITY(1,1),ThisLineVARCHAR(255))SETFileName='C:TempCurrentSettings.xml'SETExecCmd='type'+FileNameSETFileContents=''INSERTINTO#tempXMLEXECmaster.dbo.xp_cmdshellExecCmdSELECTy=co

7、unt(*)from#tempXMLSETx=0LL  现在在变量FileContents变量中你已经获得了文件的全部内容。所需要做的只是将变量通过xmltext参数传递给sp_xml_prepareument,然后再调用OPENXML。  有了这种解决办法,对XML文档进行各种处理就成为了可能。你可以将XML文档同SQL表格连接在一起而无需导入数据,然后对这些数据进行INSERT、PDATE和DELETE等任何操作。>>>>这篇文章来自..,。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。