SQL Server - Como exportar dados para arquivo XML usando BCP

Data de postagem: Jun 10, 2011 2:50:8 PM

Problema do aluno: Trabalho com SQL Server 2005 e preciso fazer alguns selects e enviar para um arquivo XML. Como faço?

Solução: Primeiro, criamos um database e as tabelas, usando o script abaixo, que deve ser executado no SQL Server Management:

CREATE DATABASE EXEMPLO_BCP

GO

USE EXEMPLO_BCP

CREATE TABLE PRODUTO

(

COD INT IDENTITY,

NOME VARCHAR(50),

PRECO DEC(9,2)

)

INSERT INTO PRODUTO VALUES (‘MARTELO’, 32.40)

INSERT INTO PRODUTO VALUES (‘MARRETA’, 18.95)

INSERT INTO PRODUTO VALUES (‘SERROTE’, 45.50)

INSERT INTO PRODUTO VALUES (‘CHAVE DE FENDA’, 8)

Agora, usamos o aplicativo BCP (bulk copy program) para exportar os dados:

EXEC XP_CMDSHELL ‘BCP “SELECT * FROM EXEMPLO_BCP..PRODUTO FOR XML RAW(”PRODUTO”), ELEMENTS, ROOT(”PRODUTOS”)” QUERYOUT C:\SAIDA.XML -S. -T -c’

OBS.: Devemos nos lembrar de habilitar a execução de xp_cmdshell no SQL Server Surface Area Configuration (for features).