我看到很多关于从T-SQL2005生成提要的资源,关于将XML解析为数据库模式,处理,批量操作等等。我没看到的是如何拥有,例如,语句/ s在存储过程或函数中,只需访问XML提要的URL,将XML加载到表字段或sproc变量中并关闭连接。
我知道可能有必要使用外部层,比如C#Web应用程序,但是直接读取源或文件会很好(考虑到T-SQL提供的所有其他复杂功能)。
答案 0 :(得分:2)
如果文件位于同一服务器上,则可以使用OPENROWSET,例如
CREATE TABLE XmlImportTest
(
xml_data xml
)
GO
INSERT INTO XmlImportTest(xml_data)
SELECT xmlData
FROM
(
SELECT *
FROM OPENROWSET (BULK 'c:\TestXml.xml' , SINGLE_BLOB) AS XMLDATA
) AS FileImport (XMLDATA)
如果要从文件夹导入所有文件夹,请查看How to import a bunch of XML files from a directory in T-SQL
如果你需要从URL访问它,那么SSIS可以做到这一点,如果它是一个Web服务,甚至可能是SQLCLR
答案 1 :(得分:0)
我所知道的没有内置任何东西。可以通过Object Automation extended stored procedures来实现这一点,但你最好使用CLR(如果你必须在SQL Server中完成它 - 我觉得外部应用可能会更好)。