none
Como transformar meu comando BCP em .BAT? RRS feed

  • Pergunta

  • Olá amigos boa noite criei dois comandos em BCP. Um para exportação de dados de um TXT para um banco SQL server, e outro de importação do SQL para um TXT.

    Preciso criar um BAT de exportação e outra importação, pois usuários leigos que irão realizar tal rotina diariamente.

    Comando exportação:

    bcp landix_flx.dbo.tafcli OUT c:\teste.txt -S .\mssql -U sa -P
    wisdom -t";" -T -c

    Comando importação

    bcp landix_flx.dbo.tafcli IN c:\teste.txt -S .\mssql -U sa -P
    wisdom -t";" -T -c

    OBS: Bat's disitintas!

    Valeu pessoal!

    terça-feira, 20 de agosto de 2013 01:02

Respostas

  • Bom dia!

    Só pra constar, segue a solução que encontrei pra que a o script BCP, funcione como .BAT!

    @ECHO OFF

    Set Server=NomeServidor
    Set Username=UsuarioBanco
    Set Password=Senha
    Set Arquivo=c:\temp\tabela.bcp
    Set Log=c:\temp\tabela.log_exp

    ECHO Inicio do BCP...: %TIME% 
    ECHO Aguarde a carga dos dados...

    bcp AdventureWorks.Production.TransactionHistory OUT %Arquivo% -o %Log% -S%Server% -U%Username% -P%Password% -c

    ECHO Termino do BCP..: %TIME% 
    ECHO Log no arquivo %Log%

    PAUSE

     

    • Marcado como Resposta Eduardo NTor sexta-feira, 23 de agosto de 2013 13:16
    sexta-feira, 23 de agosto de 2013 13:16
  • Complemento:

    Crie um arquivo para importação e outro para exportação.

    Arquivo 1:

    bcp landix_flx.dbo.tafcli OUT c:\teste.txt -S .\mssql -U sa -P wisdom -t";" -T -c

    Arquivo 2:

    bcp landix_flx.dbo.tafcli IN c:\teste.txt -S .\mssql -U sa -P wisdom -t";" -T -c


    Roberto Galvão | MCTS | MCITP | Microsoft Partner |

    terça-feira, 20 de agosto de 2013 01:18

Todas as Respostas

  • Olá Eduardo,

    Abra o bloco de notas, coloque o comando bcp no bloco de notas e logo apos salve como ".bat".

    Depois é só executar o arquivo.

    Espero ter ajudado.

    Roberto Galvão
    MCITP - Administration SQL Server 2008
    MCITP - Developer SQL Server 2008
    MCSA - SQL Server 2012


    Roberto Galvão | MCTS | MCITP | Microsoft Partner |

    • Sugerido como Resposta Roberto Galvão terça-feira, 20 de agosto de 2013 01:15
    terça-feira, 20 de agosto de 2013 01:15
  • Eduardo, se você simplesmente colocar o comando dentro de um arquivo .bat (ex.: importacao.bat) não resolve?

    Att, Nino - Engº. de Projetos - http://www.TInoBar.com.br

    terça-feira, 20 de agosto de 2013 01:16
  • Complemento:

    Crie um arquivo para importação e outro para exportação.

    Arquivo 1:

    bcp landix_flx.dbo.tafcli OUT c:\teste.txt -S .\mssql -U sa -P wisdom -t";" -T -c

    Arquivo 2:

    bcp landix_flx.dbo.tafcli IN c:\teste.txt -S .\mssql -U sa -P wisdom -t";" -T -c


    Roberto Galvão | MCTS | MCITP | Microsoft Partner |

    terça-feira, 20 de agosto de 2013 01:18
  • Boa noite e obrigado por responder!

    Não! Não resolve! Ele simplesmente abre e fecha rapidamente e não executa o comando. Se abrir o "prompt" e chamar a bat ai funciona. Mas como disse, preciso que a ação seja executada apenas no ato de "clicar". Pois usuários leigos quem irão operar tal ação.

    Acho que tem que colocar uns comandos na BAT juntamente com o BCP(antes do comando). Só não sei o que exatamente. Gostaria de um exemplo pra ajudar. 

    terça-feira, 20 de agosto de 2013 01:22
  • Eduardo, isso deve ocorrer porque o diretório do comando 'bcp' não faz parte da variável de ambiente PATH, portanto, você pode colocar o path completo para chamar o comando:

    c:\path\bcp.exe landix_flx.dbo.tafcli OUT c:\teste.txt -S .\mssql -U sa -P wisdom -t";" -T -c


    Att, Nino - Engº. de Projetos - http://www.TInoBar.com.br

    terça-feira, 20 de agosto de 2013 01:37
  • Tenta assim no TXT e depois muda a extensão para .BAT

    bcp [database].[table] in [path\arquivo.csv] -c -t; -T -S [servidor]


    "Se esta sugestão for útil, por favor, classifique-a como útil.
    Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta."

    Érica Tohoma | http://bloggirlsa.wordpress.com

    quarta-feira, 21 de agosto de 2013 13:21
  • Eduardo,

    O usuário que esta sendo utilizado para executar o arquivo .bat tem permissões necessárias para acessar o SQL Server?


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    sexta-feira, 23 de agosto de 2013 12:48
    Moderador
  • Bom dia!

    Só pra constar, segue a solução que encontrei pra que a o script BCP, funcione como .BAT!

    @ECHO OFF

    Set Server=NomeServidor
    Set Username=UsuarioBanco
    Set Password=Senha
    Set Arquivo=c:\temp\tabela.bcp
    Set Log=c:\temp\tabela.log_exp

    ECHO Inicio do BCP...: %TIME% 
    ECHO Aguarde a carga dos dados...

    bcp AdventureWorks.Production.TransactionHistory OUT %Arquivo% -o %Log% -S%Server% -U%Username% -P%Password% -c

    ECHO Termino do BCP..: %TIME% 
    ECHO Log no arquivo %Log%

    PAUSE

     

    • Marcado como Resposta Eduardo NTor sexta-feira, 23 de agosto de 2013 13:16
    sexta-feira, 23 de agosto de 2013 13:16
  • Eduardo,

    Este código que você encontrou é de grande avalia, um ótimo exemplo, ainda mais fazendo uso de variáveis em ambiente prompt-de-comando o que permite automatizar ainda mais o comando BCP.

    Muito legal por compartilhar conosco.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    sábado, 31 de agosto de 2013 17:22
    Moderador