回答

收藏

将XML批量导入SQL Server

技术问答 技术问答 230 人阅读 | 0 人回复 | 2023-09-14

我在Microsoft.com查看以下示例:
* l' c2 s  f0 whttp://support.microsoft.com/kb/3160051 `. n3 [/ h$ W" d, U
http://msdn.microsoft.com/zh-
. L1 f+ S9 ?- u: E# ECN/library/aa225754(v=sql.80).aspx& G; e& p2 t  l+ ~5 Y2 M$ e. W* n
但这是必须执行的一部分步骤VBScript我找不到代码应该在哪里执行VBScript。是否可以在SQL Server本身中执行?
, h2 x, A1 B5 C- H) g- P0 E该网站的代码如下:3 s6 P6 j; q, H9 B( S
    Set objBL = CreateObject("SQLXMLBulkLoad.SQLXMLBulkLoad") objBL.ConnectionString = "provider=SQLOLEDB.1;data source=MySQLServer;                           database=MyDatabase;uid=MyAccount;pwd=MyPassword" objBL.ErrorLogFile = "c:\error.log" objBL.Execute "c:\customermapping.xml","c:\customers.xml" Set objBL = Nothing看起来可以用经典ASP或者类似的似的事情,但我更喜欢把它留在里面SQL Server中。谁知道怎么在?SQL2 l1 Z4 d7 l5 O$ @' @% t
Server类似的操作在中间执行吗?还是有人有更好的方法XML批量导入SQL Server?) B9 d- |3 D) F
                                                               
6 {- E6 a* L1 S$ Y: k. x    解决方案:                                                                8 b2 p! I( ?, o% m/ r
                                                                SQL6 P* Y& V7 t  D' ?
Server能够读取XML并根据需要插入。这是一个XML从这里提取文件示例:+ N" U" s6 H. ^  @
XML:
$ ~/ B, s# `/ s/ {6 Z      1    Book        2    DVD        3    Video  用于解析XML的Insert语句:
; H1 D) t% q, ~. ]: V/ F- V/ yINSERT INTO Products (sku,product_desc) SELECT X.product.query('SKU').value('.','INT        X.product.query('Desc').value('.','VARCHAR(30)')FROM ( SELECT CAST(x AS XML)FROM OPENROWSET(     BULK 'C:\Products.xml    SINGLE_BLOB) AS T(x)     ) AS T(x)CROSS APPLY x.nodes('Products/Product') AS X(product);
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则