Mostrando postagens com marcador Firebird. Mostrar todas as postagens
Mostrando postagens com marcador Firebird. Mostrar todas as postagens

segunda-feira, 31 de março de 2008

Trocar senha do SYSDBA no Firebird

Isso serve pra todos os usuários, mas o SYSDBA é o mais fodão e tals..

Então vamo lá. Primeiro, a gente vai na pasta "bin" do firebird:

C:> cd C:\Arquivos de programas\Firebird\Firebird_2_0\bin

Agora a gente executa o arquivo gsec.exe, passando como parâmetro o nome de usuário e a senha atual:

C:\Arquivos de programas\Firebird\Firebird_2_0\bin> gsec -user SYSDBA -password masterkey

Daí, dentro do gsec, é só mudar a senha, com o comando:

GSEC> modi sysdba -pw senha_nova

E sair:

GSEC>quit

\o/ Té mais

Caso você use Windows Vista ou Windows 7, troque de sistema operacional, leia este artigo aqui: Alterando senha do Firebird no Windows Vista e Windows 7

Obs.: Peguei daqui.

sexta-feira, 16 de novembro de 2007

Autoincrement no Firebird

Uma das coisas chatas de usar o Firebird é que ele não tem o campo autoincrement (ou pelo menos não tinha até essa postagem). Isso é particularmente chato, porque o autoincrement é legal, e facilita a vida do programador.

Tá, vamos aos códigos.

Primeiro, deve-se criar um Generator. Um generator é um gerador de números que o banco de dados usa pra fazer o controle dessas coisas.

Importante: Se houver mais de um campo autoincrement no banco de dados, será necessária a criação de um generator pra cada um.

Suponhamos que queira o campo "codigo" da tabela "aluno" seja autoincrement. Primeiro cria-se o gerador "gen_cod_aluno":

CREATE GENERATOR gen_cod_aluno;

Agora deve-ser criar uma trigger para que esse gerador seja incrementado cada vez que o usuário tentar inserir algum valor no banco de dados:

CREATE TRIGGER FOR aluno
ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN
NEW.codigo = GEN_ID(gen_cod_aluno,1);
END;

Traduzindo, criou-se uma trigger para a tabela aluno, que será ativada antes que um registro seja inserido, atribuindo ao campo "codigo" o valor armazenado em "gen_cod_aluno", somado a 1.

De novo, pra cada campo autoincrement, uma trigger e um generator.

Té mais o/