Script Interbase .BAT

02/12/2004

0

Gostaria de rodar um script do interbase através de um arquivo .BAT.
Fiz alguns testes mas não funcionou, talvez esteja passando longe do correto, então se alguém tiver alguma dica, ajudaria muito.

O .Bat que criei para testes foi esse (hipoteticamente):

CLS
CD\´ARQUIVOS DE PROGRAMAS´\BORLAND\INTERBASE\BIN
ISQL
CONNECT -user sysdba -pass masterkey C:\BASE.GDB
SELECT * FROM TABELA;
UPDATE TABELA SET CAMPO = ´VALOR´;
DROP TABLE TABELA;
COMMIT;

Será que todos os comandos funcionam dessa maneia (pesquisa, manipulação de dados, manipulação de estrutura)?
Posso colocá-los em sequencia separados por ´;´ como no exemplo?
Como fazer para se desconectar do banco (voltar ao prompt ´C:>´)?

Obrigado.


Responder

Post mais votado

02/12/2004

[b:e5986d6c90]Executando comando SQL pelo DOS no interbase[/b:e5986d6c90]

c:\arquiv~1\borland\interbase\bin\isql connect c:\sistema\banco.gdb -i c:\sistema\comando.txt -user sysdba -pass masterkey


onde comando.txt é um txt contendo sua instrução sql, por exemplo
CREATE TABLE ....


Weber

Weber
Responder

Mais Posts

02/12/2004

Drf

Pesquisei mais um pouco e acabei descobrindo os comandos (sintaxe) corretos para os comandos no prompt DOS:

Na pasta ´BIN´ do Interbase:
C:\....\Interbase\Bin\isql

abre o prompt ´SQL>´

*conecta ao banco
SQL>connect c:\base.gdb user sysdba password masterkey;

* cria uma saida no disco
SQL>output c:\saida.txt;

*pesquisa simples (gravada no arquivo c:\saida.txt)
SQL>select * from tabela;

* fecha o arquivo de saida
SQL>output;

*pesquisa simples (mostra na tela)
SQL>select * from tabela;

*atualizando um campo
SQL>update tabela set campo = 0 where campo is null;

*validando a transação
SQL>commit;

*desconecta o banco/usuário e volta ao a pasta ´BIN´
SQL>exit;


Então criei o arquivo .BAT seguinte:
CLS
C:
CD\´ARQUIVOS DE PROGRAMAS´\BORLAND\INTERBASE\BIN
ISQL
connect c:\base.gdb user sysdba password masterkey;
output c:\saida.txt;
select * from tabela;
output;
select * from tabela;
update tabela set campo = 0 where campo is null;
commit;
exit;
exit

Até a linha do comando ISQL funciona, mas a partir daí, qdo entra no prompt do ISQL (SQL>) não captura os comandos, estes só são reconhecidos no C:\>.

Então a dúvida permanece, como passar esses comandos no ´SQL>´ por meio do .BAT?


Responder

02/12/2004

Drf

Ok, funcionou.

Obs: as duas linhas na mensagem, na verdade, são apenas uma linha de comando no DOS.


Responder

02/12/2004

Weber

é isso mesmo, é que no fórum a linha saiu quebrada. :oops:


Responder

27/03/2015

Wygor Raimundo

Apenas para agregar caso alguém venha até aqui para tirar dúvidas...

Minha necessidade onde trabalho: criar um script que realize uma consulta automaticamente no bd 'SQL Server 2008' perante os Orçamento efetuados no dia.

1º Criei um script contendo a select que preciso e salvei como nomeArquivo.sql.
2º Abri meu bloco de notas e inseri o seguinte comando: sqlcmd -i C:\NomeDaPasta\Itens.sql -o C:\NomeDaPasta\Itens.txt
3º Salvei este arquivo em algum lugar com a extensão .bat
4º Pronto, agora execute este arquivo .bat e vá até a pasta que você salvou o arquivo .sql e .txt e você terá o resultado da sua select em arquivo txt.
Lembre-se de tirar a opção do bloco de notas > Menu Formatar > 'Quebra automática de linha'.

Qualquer dúvida galera, skype: marlon.portaldeideias
Responder

25/04/2023

Rodrigo

Ok, funcionou.

Obs: as duas linhas na mensagem, na verdade, são apenas uma linha de comando no DOS.


olá, estou tentando fazer o mesmo que você e não estou conseguindo, teria como colocar como ficou o comando todo? Do início ao fim?


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar