当前位置: 首页 > 面试题库 >

将XML批量导入SQL Server

孟豪
2023-03-14
问题内容

我在Microsoft.com上查看了以下示例:

http://support.microsoft.com/kb/316005

http://msdn.microsoft.com/zh-
CN/library/aa225754%28v=sql.80%29.aspx

但这是在其中一部分步骤中必须执行VBScript代码,而我无法找到应该在何处执行VBScript。是否可以在SQL Server本身中执行?

该站点中的代码如下所示:

 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中。有谁知道如何在SQL
Server中执行类似的操作?还是有人有更好的方法将XML批量导入SQL Server?


问题答案:

SQL
Server能够读取XML并根据需要插入它。这是一个XML文件的示例,它是从此处提取的:

XML:

<Products>
  <Product>
    <SKU>1</SKU>
    <Desc>Book</Desc>
  </Product>
  <Product>
    <SKU>2</SKU>
    <Desc>DVD</Desc>
  </Product>
  <Product>
    <SKU>3</SKU>
    <Desc>Video</Desc>
  </Product>
</Products>

用于解析XML的Insert语句:

INSERT 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);


 类似资料:
  • 本文向大家介绍django批量导入xml数据,包括了django批量导入xml数据的使用技巧和注意事项,需要的朋友参考一下 django后台批量导入数据 在生产环境中,往往数据不是几条或者几百条,那么举个例子,将公司所有员工员工号或者帐号密码导入进后台,那就不建议你去后台一条条记录去添加了 如何从xml中批量导入svn记录 第一步: 为数据建立模型 既然建立好了模型,那我们再去建立接受我们xml文

  • Azure cosmos db(Mongo db API)是否可以批量导入?我想将json文件中的大型数据集导入Azure cosmos for Mongo DB。我尝试使用mongoimport和Java mongo API导入,但这花费了很长时间,最终超时。 关于如何直接从我的文件导入cosmos db,有什么建议吗? PS:https://docs.microsoft.com/en-us/a

  • 网点除了可以手动添加,还可以进行批量的导入,通过Excel文件进行批量导入: 注意: 对上传的Excel文件是有些要求的,可以仔细阅读要求内容: 可以先下载两份标准数据模板,查看案例,模板分为两种类型:地址类型、经纬度类型; 地址类型:表格文件里填写“名称”、及规范的“地址”信息,例如:北京市朝阳区酒仙桥北路甲10号院107号楼;然后可以通过导入表格完成网点的批量添加; 经纬度类

  • 问题内容: 我正在尝试使用该功能导入一百万行redis命令。 redis_version:2.8.1 这将导致以下错误: 从服务器读取错误:对等连接重置 有人知道我在做什么错吗? 包含例如 编辑 :我现在看到使用管道模式可能有一种特殊格式(?)-http: //redis.io/topics/protocol 问题答案: 要使用管道模式(也称为批量插入),您实际上必须直接以Redis协议格式提供命

  • 本文向大家介绍python Django批量导入数据,包括了python Django批量导入数据的使用技巧和注意事项,需要的朋友参考一下 前言: 这期间有研究了Django网页制作过程中,如何将数据批量导入到数据库中. 这个过程真的是惨不忍睹,犯了很多的低级错误,这会在正文中说到的.再者导入数据用的是py脚本,脚本内容参考至自强学堂--中级教程--数据导入.  注:本文主要介绍自己学习的经验总结

  • 1. 简介 您可使用数据导入功能将离线数据导入分析云系统,方便后期分析及应用。该功能仅开放给定制版客户,如您需要使用,请联系您的服务人员或发邮件到 ext_analytics@baidu.com 购买。建议在如下场景中可使用该功能: 埋点数据缺失需要补录 服务端收集的数据需要入库 其它离线数据需完善补充 2. 使用说明 您可从 管理-分析云设置-数据导入 进入页面,在数据导入页面可查看 数据导入指