Script Interbase .BAT
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.
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.
Drf
Curtidas 0
Melhor post
Weber
02/12/2004
[b:e5986d6c90]Executando comando SQL pelo DOS no interbase[/b:e5986d6c90]
onde comando.txt é um txt contendo sua instrução sql, por exemplo
CREATE TABLE ....
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 ....
GOSTEI 1
Mais Respostas
Drf
02/12/2004
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?
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?
GOSTEI 0
Drf
02/12/2004
Ok, funcionou.
Obs: as duas linhas na mensagem, na verdade, são apenas uma linha de comando no DOS.
Obs: as duas linhas na mensagem, na verdade, são apenas uma linha de comando no DOS.
GOSTEI 0
Weber
02/12/2004
é isso mesmo, é que no fórum a linha saiu quebrada. :oops:
GOSTEI 0
Wygor Raimundo
02/12/2004
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
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
GOSTEI 0
Rodrigo
02/12/2004
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?
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?
GOSTEI 0