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

SQL - Създаване на XML - Как да зададете Unicode UTF-8

Намерих решение по друг начин. (не помня кой уебсайт го намерих) Вижте кода по-долу. Този код ще експортира моя файл в UTF-8-BOM кодиране.

@File        VARCHAR(2000)
AS 

BEGIN 

DECLARE @OLE            INT 

EXECUTE sp_OACreate 'ADODB.Stream',  @OLE OUTPUT

DECLARE @Text XML
SET @Text = (SELECT TOP(1) [xml] from VW_WARP_LEVERANCIERS_XML)     
DECLARE @Converted NVARCHAR(MAX)
SET @Converted = CONVERT(nvarchar(MAX), @Text)

EXECUTE sp_OASetProperty             @OLE,    'Type',             2                           --1 = binary, 2 = text
EXECUTE sp_OASetProperty             @OLE,    'Mode',             3                           --0 = not set, 1 read, 2 write, 3 read/write
EXECUTE sp_OASetProperty             @OLE,    'Charset',          'UTF-8'                     --'ISO-8859-1'
EXECUTE sp_OASetProperty             @OLE,    'LineSeparator',    'adLF'
EXECUTE sp_OAMethod                  @OLE,    'Open'  
EXECUTE sp_OAMethod                  @OLE,    'WriteText',        NULL,       @Converted      --text method

--Commit data and close text stream
EXECUTE sp_OAMethod                  @OLE,    'SaveToFile',       NULL,       @File, 2   --1 = notexist 2 = overwrite
EXECUTE sp_OAMethod                  @OLE,    'Close'
EXECUTE sp_OADestroy                 @OLE

EXECUTE sp_OADestroy @OLE 

END 


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Базата данни „само за четене“ не може да се свие | Свиване на дневника на транзакциите, докато използвате групата за наличност AlwaysOn

  2. Създаване на изглед от свързани дъщерни таблици

  3. Как да използвате UPDATE от SELECT в SQL Server

  4. Link To Sql и identity_insert

  5. операцията не е разрешена, когато обектът е затворен, когато се изпълнява по-разширена заявка