sql >> Database >  >> RDS >> Sqlserver

Export SQL Server-database naar XML-optimalisatie

Laten we een voorbeeld bekijken voor het genereren van een XML:

CREATE PROC GenerateXMLproc

AS

SELECT [Name], ProductNumber, Color

FROM dbo.Product

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

Nu bespreken we de bovengenoemde opties voor het opslaan van deze XML-gegevens:

  1. Opgeslagen CLR-procedure gebruiken: In deze methode kunnen we een CLR-opgeslagen procedure maken die de gegenereerde XML-gegevens, bestandsnaam en locatie van het bestand als invoerparameters gebruikt. En dan kan het die XML verwerken volgens de vereisten en dat XML-bestand opslaan op de gewenste locatie.

CLR opgeslagen procedure maken:

[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

Opgeslagen procedure maken vanuit de geïmporteerde DLL/assemblage:

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. Datumtijd in PHP-script

  2. Primaire sleutel wijzigen in PostgreSQL-tabel

  3. Hoe verklein ik de grootte van mijn sql-serverlogbestand?

  4. Twee tabellen samenvoegen met een door komma's gescheiden lijst in het samenvoegveld