none
Erro BCP ao gerar arquivo em servidor remoto RRS feed

  • Pergunta

  • Bom dia,

    Pessoal estou com a seguinte situação.

    Servidor de Banco de dados no Server01 e servidor de aplicação Server02, estou usando BCP para gerar um arquivo .txt, porém, não gera.

    Um exemplo do código que estou utilizando para gerar é:

    CREATE TABLE BCP_TESTE
    (	
    	CODIGO VARCHAR(10)
    );
    
    INSERT INTO BCP_TESTE
    (
        BCP_TESTE.CODIGO
    )
    VALUES
    (
        'TESTE BCP' -- CODIGO - VARCHAR
    )
    
    DECLARE @V_NOME_BANCO VARCHAR(100);
    DECLARE @V_USUARIO_BANCO VARCHAR(30) = 'seuuser';
    DECLARE @V_SENHA_BANCO VARCHAR(30) = 'suasenha';
    SELECT @V_NOME_BANCO = @@SERVERNAME;
    DECLARE @V_DBNAME VARCHAR(50); 
    SELECT @V_DBNAME =  RTRIM(DB_NAME()) + '..';
    DECLARE @v_bcp varchar(4000) = ' BCP "SELECT DISTINCT CODIGO FROM ' + @V_DBNAME + 'BCP_TESTE A "  QUERYOUT \\192.168.0.155\ftp\BCP_TESTE.TXT /S ' + @V_NOME_BANCO + ' /m0 /b100 /c /t /U ' + @V_USUARIO_BANCO + ' /r \n /P ' + @V_SENHA_BANCO
    PRINT @v_bcp;
    EXEC master..xp_cmdshell @v_bcp


    O erro que recebo é:

    SQLState = S1000, NativeError = 0
    Error = [Microsoft][SQL Native Client]Unable to open BCP host data-file
    NULL

    Caso eu coloque para gerar no Servidor 'Server01' que é o próprio servidor do SQL Server o arquivo é gerado com sucesso.

    No aguardo,


    Atenciosamente, Ruberlei. www.t-sql.com.br

    quinta-feira, 13 de novembro de 2014 13:06

Respostas

  • Ruberlei,

    A mensagem de erro esta informando que é impossível abrir o arquivo no host para que o BCP possa trabalhar com este arquivo.

    Verifique se o usuário que você esta utilizando neste momento no SQL Server para executar o BCP através do XP_CMDShell tem permissão de escrita no local.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitário | SoroCódigos] @JuniorGalvaoMVP | pedrogalvaojunior.wordpress.com

    • Marcado como Resposta Ruberlei quinta-feira, 13 de novembro de 2014 16:23
    quinta-feira, 13 de novembro de 2014 13:15

Todas as Respostas

  • Ruberlei,

    A mensagem de erro esta informando que é impossível abrir o arquivo no host para que o BCP possa trabalhar com este arquivo.

    Verifique se o usuário que você esta utilizando neste momento no SQL Server para executar o BCP através do XP_CMDShell tem permissão de escrita no local.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitário | SoroCódigos] @JuniorGalvaoMVP | pedrogalvaojunior.wordpress.com

    • Marcado como Resposta Ruberlei quinta-feira, 13 de novembro de 2014 16:23
    quinta-feira, 13 de novembro de 2014 13:15
  • Boa tarde,

    Diante do que o Junior disse fui ver questão de usuário e deu certo.

    Máquinas que não estão em um domínio  o serviço do SQL Server deve ter um usuário que também exista na máquina destino.

    Máquinas que pertençam a um domínio gerou arquivo sem adicionar um usuário e senha especifico no SQL Server.

    Situação Resolvida, Obrigado Junior. 


    Atenciosamente, Ruberlei. www.t-sql.com.br

    quinta-feira, 13 de novembro de 2014 16:23