Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Eksportuj bazę danych SQL Server do optymalizacji XML

Rozważmy przykład generowania XML:

CREATE PROC GenerateXMLproc

AS

SELECT [Name], ProductNumber, Color

FROM dbo.Product

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

Teraz omówimy wyżej wymienione opcje zapisywania tych danych XML:

  1. Korzystanie z procedury przechowywanej CLR: W tej metodzie możemy utworzyć procedurę składowaną CLR, która przyjmie wygenerowane dane XML, nazwę pliku i lokalizację pliku jako parametry wejściowe. Następnie może przetworzyć ten plik XML zgodnie z wymaganiami i zapisać ten plik XML w żądanej lokalizacji.

Tworzenie procedury składowanej 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

Tworzenie procedury składowanej z zaimportowanego pliku DLL/zestawu:

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. Jak generować instrukcje wstawiania z danych programu Excel i ładować do tabeli programu SQL Server — samouczek SQL Server / TSQL, część 103

  2. Dynamiczny obrót T-SQL

  3. Jak wykonać procedurę składowaną MSSQL za pomocą biblioteki ADOdb PHP?

  4. Konwertuj DateTime na odpowiednik szesnastkowy w VB.NET

  5. Jak wyświetlić dwie cyfry po przecinku w SQL Server