sql >> Database teknologi >  >> RDS >> Sqlserver

Eksporter SQL Server-database til XML-optimering

Lad os overveje et eksempel på generering af en XML:

CREATE PROC GenerateXMLproc

AS

SELECT [Name], ProductNumber, Color

FROM dbo.Product

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

Nu vil vi diskutere de ovennævnte muligheder for at gemme disse XML-data:

  1. Brug af CLR Stored Procedure: I denne metode kan vi oprette en CLR-lagret procedure, som vil tage de genererede XML-data, filnavn og placering af filen som inputparametre. Og så kan den behandle den XML i henhold til kravene og gemme den XML-fil på den ønskede placering.

Oprettelse af CLR-lagret procedure:

[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

Oprettelse af lagret procedure fra den importerede DLL/Assembly:

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. PHP-script til at importere csv-data til mysql

  2. Er java.sql.Timestamp tidszonespecifik?

  3. Oracle-tabel(er) data til INSERT-sætninger med JAVA

  4. SQL Datatype til brug ved indsættelse af penge