sábado, 21 de julho de 2012

Importação de Dados XML to SQLServer

Recentemente tive que prestar assessoria para converter dados do arquivo de Dados DataFlex para o Banco de Dados SQLServer.
Bem o passos foram:
1) Converti DataFlex para XML
2) XML para SQLServer
3) SQLServer para um Arquivo de acordo com Layout.

o Comando do SQLServer para converter XML para uma Tabela no SQLServer ai abaixo:


CREATE TABLE XmlImportTest
(
    xmlFileName VARCHAR(300),
    xml_data xml
)
GO

DECLARE @xmlFileName VARCHAR(300)
SELECT  @xmlFileName = 'c:\TestXml.xml'
-- inserir dinamicamente a variavel @xmlFileName  em um OPENROWSET
EXEC('
INSERT INTO XmlImportTest(xmlFileName, xml_data)

SELECT ''' + @xmlFileName + ''', xmlData 
FROM
(
    SELECT  * 
    FROM    OPENROWSET (BULK ''' + @xmlFileName + ''' , SINGLE_BLOB) AS XMLDATA
) AS FileImport (XMLDATA)
')
GO
SELECT * FROM XmlImportTest

DROP TABLE XmlImportTest