Usuário com melhor resposta
Exportar Arquivo txt

Pergunta
-
Bom dia
Pessoal estou com um problema eu criei a seguinte procedure:
ALTER PROCEDURE [dbo].[EXPORTA_PESSOAS] AS BEGIN DECLARE @CMD VARCHAR(8000) DECLARE @SQL VARCHAR(8000) DECLARE @FILENAME VARCHAR(255) select @sql = 'SELECT RAZAO, ENDERECO, NUMERO, BAIRRO, CIDADE, UF, CEP, CODEXTERNO FROM FORNECEDORES' select @filename = 'C:\DADOS\PESSOAS.TXT' select @cmd = 'bcp "'+ @sql +'" queryout '+ @filename +' -c -t; -T -o "c:\temp\resultado.txt" ' exec master..xp_cmdshell @cmd END
Quando executo ela o sql server no arquivo c:\temp\resultado.txt reporta o seguinte erro:
SQLState = S0002, NativeError = 208
Error = [Microsoft][SQL Server Native Client 10.0][SQL Server]Nome de objeto 'FN_FORNECEDORES' inválido.
SQLState = 37000, NativeError = 8180
Error = [Microsoft][SQL Server Native Client 10.0][SQL Server]Nao foi poss¡vel preparar uma ou mais instruções.
Porém executando a query que esta na variável @sql a mesma retorna para mim os registros sem nenhum problema alguém saberia me informar o que pode estar ocorrendo?
O SQL no qual estou testando é o SQL Server 2008.
Respostas
-
Eder,
Este diretório existe e o usuário definido no "serviço" do SQL Server possui acesso de leitura e escrita ?
Além disso, seu comando BCP está incorreto, você só poderá ter uma saída de dados: ou "C:\DADOS\PESSOAS.TXT" ou "C:\temp\resultado.txt".
Para maiores informações veja:
https://msdn.microsoft.com/pt-br/library/ms162802(v=sql.120).aspx
http://social.technet.microsoft.com/wiki/pt-br/contents/articles/31202.sql-server-exportando-uma-consulta-t-sql-para-um-arquivo-xml.aspx
Se ajudou na sua solução, não esqueça de marcar como resposta !
Abraços,
Durval Ramos
Microsoft Partner | MTA | MCSA - SQL Server 2012 | MCSE - Data Platform
----------------------------------
Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"- Marcado como Resposta Durval RamosModerator domingo, 27 de setembro de 2015 21:13
Todas as Respostas
-
Boa tarde tudo bem?
Coloque o nome da base de dados antes da tabela que vai dar certo, segue exemplo.
SELECT CAMPO1, CAMPO2 FROM Nome_Do_Banco_Dados..T_TABELA
Obsevação: Sim são dois pontos '..' não está errado.
Espero que resolva.
Atenciosamente, Ruberlei. www.t-sql.com.br
-
Eder,
Este diretório existe e o usuário definido no "serviço" do SQL Server possui acesso de leitura e escrita ?
Além disso, seu comando BCP está incorreto, você só poderá ter uma saída de dados: ou "C:\DADOS\PESSOAS.TXT" ou "C:\temp\resultado.txt".
Para maiores informações veja:
https://msdn.microsoft.com/pt-br/library/ms162802(v=sql.120).aspx
http://social.technet.microsoft.com/wiki/pt-br/contents/articles/31202.sql-server-exportando-uma-consulta-t-sql-para-um-arquivo-xml.aspx
Se ajudou na sua solução, não esqueça de marcar como resposta !
Abraços,
Durval Ramos
Microsoft Partner | MTA | MCSA - SQL Server 2012 | MCSE - Data Platform
----------------------------------
Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"- Marcado como Resposta Durval RamosModerator domingo, 27 de setembro de 2015 21:13