Usuário com melhor resposta
Como exportar dados do SQL Server 2008 para arquivo txt usando BCP

Pergunta
-
Respostas
-
Segue o exemplo conforme solicitaste:
bcp "select [DocId],[Titulo] from [DocumentoDB].[dbo].[tbDocumentos]" queryout c:\arq.txt -Slocalhost\tsql2012 -t";" -T -c
retorno do arquivo:
1;Criar banco de dados SQL Server
2;Criar fun‡äes SQL Server
3;Criar views SQL ServerEspero ter ajudado.
Roberto GalvãoMCITP - Administration SQL Server 2008MCITP - Developer SQL Server 2008MCSA - SQL Server 2012Roberto Galvão | MCTS | MCITP | Microsoft Partner |
- Sugerido como Resposta Roberto Galvão sexta-feira, 16 de agosto de 2013 18:33
- Marcado como Resposta Eduardo NTor terça-feira, 20 de agosto de 2013 00:08
Todas as Respostas
-
Olá,
Você pode ver os paramentros do comando:
C:\bcp -?
usage: bcp {dbtable | query} {in | out | queryout | format} datafile
[-m maxerrors] [-f formatfile] [-e errfile]
[-F firstrow] [-L lastrow] [-b batchsize]
[-n native type] [-c character type] [-w wide character type]
[-N keep non-text native] [-V file format version] [-q quoted identifier]
[-C code page specifier] [-t field terminator] [-r row terminator]
[-i inputfile] [-o outfile] [-a packetsize]
[-S server name] [-U username] [-P password]
[-T trusted connection] [-v version] [-R regional enable]
[-k keep null values] [-E keep identity values]
[-h "load hints"] [-x generate xml format file]
o parametro para delimitador é [-t field terminator]
e delimitador de linha: [-r row terminator]
espero ter ajudado.
Roberto Galvão
MCITP - Administration SQL Server 2008MCITP - Developer SQL Server 2008MCSA - SQL Server 2012
Roberto Galvão | MCTS | MCITP | Microsoft Partner |
- Editado Roberto Galvão sexta-feira, 16 de agosto de 2013 17:52
- Sugerido como Resposta Roberto Galvão sexta-feira, 16 de agosto de 2013 17:55
-
Complemente...
mais detalhes no link: http://technet.microsoft.com/en-us/library/ms191485.aspx
Roberto GalvãoMCITP - Administration SQL Server 2008MCITP - Developer SQL Server 2008MCSA - SQL Server 2012Roberto Galvão | MCTS | MCITP | Microsoft Partner |
- Sugerido como Resposta Roberto Galvão sexta-feira, 16 de agosto de 2013 17:55
-
Obrigado pela ajuda Roberto!
Mas se alguém pudesse apresentar um exemplo de código iria ajudar bastante.
Estava montando uma aplicação em C# pra fazer isso e descobri o BCP!
Preciso que após a extração pelo BCP ele fique como o exemplo abaixo: Os campos onde o ";" não tem informações seria colunas vazias. Preciso que seja exportado do banco conforme abaixo exemplo:
43;BOLETO;;;;;22 - FORA;25714;195X;;NELSON ALMEIDA FERREIRA
-
Segue o exemplo conforme solicitaste:
bcp "select [DocId],[Titulo] from [DocumentoDB].[dbo].[tbDocumentos]" queryout c:\arq.txt -Slocalhost\tsql2012 -t";" -T -c
retorno do arquivo:
1;Criar banco de dados SQL Server
2;Criar fun‡äes SQL Server
3;Criar views SQL ServerEspero ter ajudado.
Roberto GalvãoMCITP - Administration SQL Server 2008MCITP - Developer SQL Server 2008MCSA - SQL Server 2012Roberto Galvão | MCTS | MCITP | Microsoft Partner |
- Sugerido como Resposta Roberto Galvão sexta-feira, 16 de agosto de 2013 18:33
- Marcado como Resposta Eduardo NTor terça-feira, 20 de agosto de 2013 00:08
-
Obrigado novamente Roberto!
Com o comando:
bcp "select [DocId],[Titulo] from [DocumentoDB].[dbo].[tbDocumentos]" queryout c:\arq.txt -Slocalhost\tsql2012 -t";" -T -c
Conseguirei extrair os dados de uma tabela para um arquivo txt (c:\exemplo.txt) assim 43;BOLETO;;;;;22 - FORA;25714;195X;;NELSON ALMEIDA FERREIRA
Ok valeu mesmo. Porém posso transformar esse comando em uma bat?
Fiquei com duvidas onde informo o nome do banco e da tabela nesse comando.
- Sugerido como Resposta Roberto Galvão sexta-feira, 16 de agosto de 2013 19:07
- Não Sugerido como Resposta Roberto Galvão sexta-feira, 16 de agosto de 2013 19:07
-
olá,
Você pode fazer um bat ou usar a procedure do sql xp_cmdshell. Esta procedure executa comandos dos.
ex: exec xp_cmdshell 'dir c:\'
Quanto ao nome do banco está na query:
from [DocumentoDB].[dbo].[tbDocumentos]
from [<database>].[<owner>].[<table>]
espero ter ajudado.
Roberto GalvãoMCITP - Administration SQL Server 2008MCITP - Developer SQL Server 2008MCSA - SQL Server 2012
Roberto Galvão | MCTS | MCITP | Microsoft Partner |
- Sugerido como Resposta Roberto Galvão sexta-feira, 16 de agosto de 2013 19:07
- Editado Roberto Galvão sexta-feira, 16 de agosto de 2013 19:07