sql >> Databasteknik >  >> RDS >> Sqlserver

Exportera SQL Server-databas till XML-optimering

Låt oss överväga ett exempel för att generera en XML:

CREATE PROC GenerateXMLproc

AS

SELECT [Name], ProductNumber, Color

FROM dbo.Product

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

Nu kommer vi att diskutera de ovan nämnda alternativen för att spara denna XML-data:

  1. Använda CLR lagrad procedur: I den här metoden kan vi skapa en CLR-lagrad procedur som tar XML-data som genereras, filnamn och plats för filen som indataparametrar. Och sedan kan den bearbeta den XML-filen enligt kraven och spara den XML-filen på önskad plats.

Skapa CLR-lagrad procedur:

[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

Skapar en lagrad procedur från den importerade 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. Logga in varningar i en tabell

  2. Arkivera en Jframe från MySQL

  3. Dela upp kommaseparerat värde från tabellkolumnen i rader med mysql?

  4. Hur LTRIM() fungerar i MariaDB