Làm thế nào để nhập XML sang SQL Server với phần lớn nạp XML

QUAN TRỌNG: Bài viết này được dịch bằng phần mềm dịch thuật của Microsoft và có thể được Cộng đồng Microsoft chỉnh sửa lại thông qua công nghệ CTF thay vì một biên dịch viên chuyên nghiệp. Microsoft cung cấp các bài viết được cả biên dịch viên và phần mềm dịch thuật thực hiện và cộng đồng chỉnh sửa lại để bạn có thể truy cập vào tất cả các bài viết trong Cơ sở Kiến thức của chúng tôi bằng nhiều ngôn ngữ Tuy nhiên, bài viết do máy dịch hoặc thậm chí cộng đồng chỉnh sửa sau không phải lúc nào cũng hoàn hảo. Các bài viết này có thể chứa các sai sót về từ vựng, cú pháp hoặc ngữ pháp, Microsoft không chịu trách nhiệm về bất kỳ sự thiếu chính xác, sai sót hoặc thiệt hại nào do việc dịch sai nội dung hoặc do hoạt động sử dụng của khách hàng gây ra.

Nhấp chuột vào đây để xem bản tiếng Anh của bài viết này: 316005
Tóm tắt
Dữ liệu được thể hiện trong XML có thể được nạp vào bộ máy cơ sở dữ liệu Microsoft SQL Server 2000 bằng cách sử dụng phần lớn nạp XML. Bài viết này phác thảo các bước bạn phải thực hiện để tải dữ liệu XML vào bảng đã tồn tại trong bộ máy cơ sở dữ liệu.

Lưu ý Nếu bạn đang sử dụng Microsoft SQL Server 2005, xem chủ đề "XML ví dụ tải hàng loạt" trong SQL Server 2005 sách trực tuyến.

back to the top

Yêu cầu

Sử dụng các bước trong bài viết này, bạn cần:
  • Web phiên bản 1 XML cho SQL Server 2000 (SQLXML), orlater.
Kiến thức trước khi yêu cầu:
  • Kiến thức XML.

back to the top

Tạo nhận dữ liệu

Sử dụng các bước sau để tạo một bảng để nhận dữ liệu XML với số lượng lớn tải phần xử lý.
  1. Tạo bộ máy cơ sở dữ liệu tên MyDatabase trong SQL Server.
  2. Mở SQL Query Analyzer, và sau đó thay đổi bộ máy cơ sở dữ liệu MyDatabase.
  3. Tạo một khách hàng trong MyDatabase bằng cách chạy câu lệnh SQL sau trong Query Analyzer:
    USE MyDatabaseCREATE TABLE Customer (   CustomerId INT PRIMARY KEY,   CompanyName NVARCHAR(20),   City NVARCHAR(20))					

back to the top

Tạo tệp nguồn dữ liệu XML

Đây là mã nguồn dữ liệu mẫu. Dán XML này vào Notepad, và sau đó lưu tệp dưới dạng C:/Customers.xml.
<ROOT>  <Customers>    <CustomerId>1111</CustomerId>    <CompanyName>Sean Chai</CompanyName>    <City>NY</City>  </Customers>  <Customers>    <CustomerId>1112</CustomerId>    <CompanyName>Tom Johnston</CompanyName>    <City>LA</City>  </Customers>  <Customers>    <CustomerId>1113</CustomerId>    <CompanyName>Institute of Art</CompanyName>  </Customers></ROOT>				

back to the top

Tạo bản đồ sơ đồ sàn

Tệp này tiếp theo là một tệp mà bạn sử dụng bản đồ định dạng nguồn dữ liệu XML sang định dạng bảng khách hàng bộ máy cơ sở dữ liệu. Dán XML này vào Notepad, và sau đó lưu tệp dưới dạng C:/Customermapping.xml.
<?xml version="1.0" ?><Schema xmlns="urn:schemas-microsoft-com:xml-data"         xmlns:dt="urn:schemas-microsoft-com:xml:datatypes"          xmlns:sql="urn:schemas-microsoft-com:xml-sql" >    <ElementType name="CustomerId" dt:type="int" />   <ElementType name="CompanyName" dt:type="string" />   <ElementType name="City" dt:type="string" />   <ElementType name="ROOT" sql:is-constant="1">      <element type="Customers" />   </ElementType>   <ElementType name="Customers"  sql:relation="Customer">      <element type="CustomerId"  sql:field="CustomerId" />      <element type="CompanyName" sql:field="CompanyName" />      <element type="City"        sql:field="City" />   </ElementType></Schema>				

back to the top

Tạo trình VBScript thực thi phần lớn nạp XML

Đây là tập lệnh sử dụng phần lớn nạp XML cho ba liệu bạn đã tạo trong đề mục "Tạo các dữ liệu nguồn tệp XML" vào bảng bạn đã tạo trong đề mục "Tạo bảng để nhận được dữ liệu" bằng cách sử dụng sơ đồ sàn ánh xạ được thảo luận trong đề mục "Tạo bộ ánh xạ sơ đồ sàn tệp". Dán mã này VBScript vào Notepad, và sau đó lưu tệp dưới dạng C:\Insertcustomers.vbs.
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				
Sửa thông tin ConnectionString trên dòng thứ hai của mã để kịch bản có thể làm việc với cài đặt chuyên biệt SQL Server. Nếu bạn không sửa dòng 2, thông báo lỗi sau đây xảy ra sau khi bạn chạy tập lệnh:
Lỗi kết nối với nguồn dữ liệu

back to the top

Chạy chương trình VBScript

Chạy chương trình VBScript C:\Insertcustomers.vbs cho khách hàng ba ghi vào bảng khách hàng .

back to the top

Xác minh nó hoạt động

Trong SQL Query Analyzer, chuyển đổi bộ máy cơ sở dữ liệu MyDatabase , và sau đó chạy truy vấn này:
SELECT * FROM Customer				
Lưu ý rằng các bản ghi ba tạo trong tiêu đề "Tạo tệp nguồn dữ liệu XML" đang trong bảng khách hàng .

back to the top

Thay đổi kỹ thuật

Phần lớn nạp XML có khả năng:
  • bản đồ tài liệu XML bội bảng bằng cách sử dụng arelationship được chỉ định trong tệp sơ đồ sàn XML.
  • Tạo sơ đồ sàn bàn trước số lượng lớn tải.
  • Số lượng lớn tải một dòng.
  • Số lượng lớn tải tràn cột.

back to the top

THAM KHẢO

SQLXML sách trực tuyến; chủ đề: "Thực hiện với số lượng lớn tải của dữ liệu XML"

back to the top

Cảnh báo: Bài viết này được dịch tự động

Thuộc tính

ID Bài viết: 316005 - Xem lại Lần cuối: 03/15/2015 10:09:00 - Bản sửa đổi: 3.0

Microsoft SQL Server 2000 Standard Edition, Microsoft SQL Server 2000 64-bit Edition, Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL Server 2005 Enterprise Edition, Microsoft SQL Server 2005 Express Edition, Microsoft SQL Server 2005 Workgroup Edition

  • kbsqlsetup kbhowtomaster kbmt KB316005 KbMtvi
Phản hồi