Escolar Documentos
Profissional Documentos
Cultura Documentos
id=712
Usuários: 46247
Artigos: 171
Dicas: 113
Downloads: 264
17.11.09
Existem diversas ferramentas para manutenção dos bancos de dados: IBConsole, IBOConsole, IBExpert, Maraton, etc... cada um
deles possui características próprias. Diferente do InterBase, o Firebird não vem como uma ferramenta padrão, o que nos obriga a
eleger uma delas para realizar essa importante tarefa.
De volta a pergunta: então qual usar? Muitos responderiam IBExpert, outros IBConsole ou IBOConsole, mas a maioria das
ferramentas disponíveis tem algum fator de limitação, como por exemplo o custo (licença) ou dependência de Sistema
Operacional. Existe, no entanto, uma solução que acompanha o próprio Firebird. Por ser um utilitário de linha de comando, sua
utilização pode não ser tão amigável quanto a das outras ferramentas que oferecem uma GUI (Graphic User Interface), mas
podemos fazer com ela praticamente qualquer tipo de operação com o banco de dados.
Vamos lá então:
No diretório de instalação do Firebird, existe uma pasta chamada "bin". Essa pasta possui diversos executáveis, alguns bem
conhecidos como "gfix" e "gbak", e outros nem tanto. Um deles, chamado "isql" (Interactive SQL) será a solução do nosso
problema.
pronto, já estamos conectados. Agora temos a liberdade de executar comandos SQL de DDL e DML, como se estivessemos no
InteractiveSql do IBConsole.
create table pessoas(codigo integer not null primary key, nome varchar(50));
Percebam que fora a rotina de conexão, as operações não são tão diferentes do que uma ferramenta gráfica. Claro que se a tabela
contiver muitos campos, a visualização fica inviável.
Dicas:
Comando SHOW:
1 de 3 17/11/2009 17:37
Entendendo as ferramentas iSql e gSec http://www.firebase.com.br/fb/artigo.php?id=712
Se você pensa que para listar todas as tabelas do banco de dados é necessário digitar um comando DML enorme, envolvendo as
tabelas de sistema e tudo mais, a resposta é não! Digite SHOW TABELES; e pronto! você tem uma lista de todas as tabelas de
seu banco.
Esse comando funciona também para triggers, views, procedures, indices, index, a própria database, version, system, roles,
domains, exceptions, filter, functions, generators e grants;
OBS: Comandos do tipo "show" são rodados sobre transações do tipo READ COMMITED
Comandos SET
Esses comandos servem para alterar caracterísicas do próprio isql. Abaixo segue a descrição de alguns:
SET TERM: muda o terminator (terminação), ou seja, o caractere responsável pelo término do comando. Por exemplo, digite o
seguinte:
SET COUNT [ON | OFF]: indica se os resultados de pesquisas virão seguidos do número de registros envolvidos na mesma (ON)
ou não (OFF);
SET ECHO [ON | OFF}: indica se o comando será (ON) ou não (OFF) mostrado antes da execução;
SET LIST [ON | OFF}: indica o formato de como os dados serão mostrados na saída:
ON: Codigo 1
Nome Pedro
OFF (Padrão)
Codigo Nome
1 Pedro
SET STATS[ON | OFF]: especifica se as estatísticas de performance serão exibidas na execução das consultas
shell <comando> permite essa funcionalidade. Exemplo: shell dir; mostra o conteúdo da pasta atual;
Para que o resultado exibido no prompt do isql seja exportado para algum aqruivo, devemos fazer o seguinte:
output c:\tabelas.txt;
SHOW TABLES; //não ira acontecer nada no prompt
output; //agora temos um arquivo tabelas.txt listando todas as tabelas do banco.
OK, já criamos e acessamos a base, criamos as tabelas, inserimos dados, alteramos as características do próprio isql... mas e as
configurações de segurança? Como faço?
Bom, para isso, precisaremos de um outro executável que encontra-se na mesma pasta do isql, o "gsec". O "gsec" funciona de
maneira um pouco diferente do isql. Não conectaremos a uma base de dados, conectaremos diretamente ao SGDB, claro, afinal as
configurações de segurança são a nível de servidor, e não de banco de dados. Iremos executar no prompt o seguinte comando:
add SPS -pw 456 -fname Sandro -mName Perreira -lName Silva;
2 de 3 17/11/2009 17:37
Entendendo as ferramentas iSql e gSec http://www.firebase.com.br/fb/artigo.php?id=712
Vamos digitar:
para darmos essa permissão, temos que logar como SYSDBA. Então:
Como disse no início desse artigo, agora veremos alguns parâmetros de entrada do isql que considero interessantes:
pagelength: esse parâmetro é interessante pois permite informar quantos registros serão exibidos na tela, após uma consulta,
antes da reimpressão do cabeçalho. Exemplo:
isql -pagelength 1 significa que para cada registro será impresso um cabeçalho
Versão:
isql -z
imprime a versão do isql e inicia-o;
Dialeto:
isql -s 1
connecta como dialeto 1 (o interessante sobre isso é que se a base for dialeto 3, o isql avisa)
O objetivo desse tutorial foi passar algumas dicas das ferramentas isql e gsec, qualquer dúvida entrem em contato que na
medida do possívei irei ajudar a todos.
Diego Menin
icq: 86406546
Comentários
[03/05/07] Cleber
Muito bom esse artigo... os caras não dão muita bola para uma ferramenta tão simples quanto util até precisarem de
uma solução que só essa ferramenta tem, ai ficam desesperados para encontrar materiais para desfazerem seus
problemas.
Atenção! Não poste dúvidas nos comentários. Para obter suporte, use a lista de discussão da FireBase.
Copyright (C) Carlos H. Cantu - É proibida a reprodução de qualquer material desse site sem autorização prévia
3 de 3 17/11/2009 17:37