Como exportar dados do SQL Server para arquivo XML usando BCP
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).