Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Xuất cơ sở dữ liệu SQL Server sang Tối ưu hóa XML

Hãy xem xét một ví dụ để tạo XML:

CREATE PROC GenerateXMLproc

AS

SELECT [Name], ProductNumber, Color

FROM dbo.Product

FOR XML raw(‘Product’), elements, root(‘Products’)

Bây giờ chúng ta sẽ thảo luận về các tùy chọn được đề cập ở trên để lưu dữ liệu XML này:

  1. Sử dụng Quy trình được Lưu trữ CLR: Trong phương pháp này, chúng ta có thể tạo một thủ tục được lưu trữ CLR sẽ lấy dữ liệu XML được tạo, tên tệp và vị trí của tệp làm tham số đầu vào. Và sau đó nó có thể xử lý XML đó theo yêu cầu và có thể lưu tệp XML đó vào vị trí mong muốn.

Tạo quy trình được lưu trữ CLR:

[Microsoft.SqlServer.Server.SqlProcedure]

public static void SaveXMLOutput(SqlXml XmlData, SqlString Filename)

{

             //Save the XML data being passed to the SP to a file location

      //specify the name of the file suppiled to the SP

      XmlDocument xmlDoc = new XmlDocument();

      SqlPipe output = SqlContext.Pipe;

      xmlDoc.LoadXml(XmlData.Value);

      xmlDoc.Save(Filename.Value);

}
CREATE ASSEMBLY SaveXMLOutputAssembly

from ‘C:\Temp\SaveXMLOutput.dll’

WITH PERMISSION_SET = EXTERNAL_ACCESS

Tạo thủ tục được lưu trữ từ DLL / Assembly đã nhập:

CREATE PROCEDURE SaveXMLOutput

@xmldata XML,

@filename nvarchar(1024)

AS

EXTERNAL NAME SaveXMLOutputAssembly.[XMLOutput].SaveXMLOutput
execute SaveXMLOutput ‘Pass the XML Data generated from other SP’

,‘ C:\Temp\MyXML.xml’



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sql nhị phân sang c # - Cách lấy mã nhị phân SQL tương đương với nhị phân trong c #

  2. SQL:Chuẩn hóa cơ sở dữ liệu trong khi giữ lại các ràng buộc

  3. Sử dụng DATABASEPROPERTYEX () để trả lại cài đặt cơ sở dữ liệu trong SQL Server

  4. Chỉ mục văn bản đầy đủ của SQL Server

  5. Hiểu kích thước lưu trữ ‘datetimeoffset’ trong SQL Server