Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Експортиране на база данни на SQL Server към XML оптимизация

Нека разгледаме пример за генериране на XML:

CREATE PROC GenerateXMLproc

AS

SELECT [Name], ProductNumber, Color

FROM dbo.Product

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

Сега ще обсъдим гореспоменатите опции за запазване на тези XML данни:

  1. Използване на CLR съхранена процедура: В този метод можем да създадем CLR съхранена процедура, която ще вземе генерираните XML данни, име на файл и местоположение на файла като входни параметри. След това може да обработи този XML според изискванията и да запише този XML файл на желаното място.

Създаване на 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

Създаване на съхранена процедура от импортирания DLL/сборка:

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?

  2. SQL Server Express Backup база данни | Как да планирате автоматизиране и почистване на SQL Express Backup

  3. разрешаване на грешка във връзка между sql сървър 2008 r2 с java в eclipse

  4. ЗА XML PATH(''):Екраниране на специални символи

  5. Как да получите данни от последния месец и от месеца до момента