XML文件如何导如SQL Server数据库[见者有分] ( 积分: 100 )

  • 主题发起人 lushideng
  • 开始时间
L

lushideng

Unregistered / Unconfirmed
GUEST, unregistred user!
数据导出XML文本了之后,如何把导出的数据接收到SQL数据库呢?
 
微软的这个例子倒是可以,不过就是字符串变量最多才8000位,可以试试想办法用文本型传递
declare @idoc int
declare @doc varchar(1000)
set @doc ='
<ROOT>
<Customer CustomerID=&quot;VINET&quot;
ContactName=&quot;Paul Henriot&quot;>
<Order OrderID=&quot;10248&quot;
CustomerID=&quot;VINET&quot;
EmployeeID=&quot;5&quot;
OrderDate=&quot;1996-07-04T00:00:00&quot;>
<OrderDetail ProductID=&quot;11&quot;
Quantity=&quot;12&quot;/>
<OrderDetail ProductID=&quot;42&quot;
Quantity=&quot;10&quot;/>
</Order>
</Customer>
<Customer CustomerID=&quot;LILAS&quot;
ContactName=&quot;Carlos Gonzlez&quot;>
<Order OrderID=&quot;10283&quot;
CustomerID=&quot;LILAS&quot;
EmployeeID=&quot;3&quot;
OrderDate=&quot;1996-08-16T00:00:00&quot;>
<OrderDetail ProductID=&quot;72&quot;
Quantity=&quot;3&quot;/>
</Order>
</Customer>
</ROOT>'
--Create an internal representation of the XMLdo
cument.
exec sp_xml_preparedocument @idoc OUTPUT, @doc
-- SELECT stmt using OPENXML rowset provider
SELECT *
FROM OPENXML (@idoc, '/ROOT/Customer/Order/OrderDetail',2)
WITH (OrderID int '../@OrderID',
CustomerID varchar(10) '../@CustomerID',
OrderDate datetime '../@OrderDate',
ProdID int '@ProductID',
Qty int '@Quantity')
 
自己顶一下,什么没高手来帮帮啊[:)]
 
多人接受答案了。
 
顶部