[firebase-br] Sobre a trigger para acesso ao db
luapfirebird em yahoo.com.br
luapfirebird em yahoo.com.br
Ter Mar 19 11:38:52 -03 2019
Me diga e se usar o seguinte codigo ::
https://www.devmedia.com.br/desativando-database-triggers-na-conexao-do-firebird/20317
isql Nome_BancoDados.fdb -user SYSDBA -pass masterkey -nodbtriggers SQL> ALTER TRIGGER Nome_Trigger INACTIVE; SQL> EXIT;
isso não invalida todo o seu trabalho ?
Agora me desculpa mais eu ainda não entendi como você passa o parâmetro para identificar que é seu sistema que está acessando o Banco de Dadosvocê poderia me explicar melhor como essa UDF faz a magica ?
Grato.
Em terça-feira, 19 de março de 2019 08:35:13 BRT, Gabriel Bonzanini <gabriel.bonzanini em gmail.com> escreveu:
Bom dia.
O que eu faço é basicamente criar uma trigger no ON CONNECT que testa uma condição. No meu caso, a condição é uma função com retorno integer, criada dentro de uma UDF (dll) própria, que retorna um valor "combinado" com o banco de dados; um tipo de senha digamos. Utilizo uma UDF pois os recursos no SQL são bem escassos se comparados aos de uma linguagem de programação "completa".
O que será testado na função da UDF para retornar o valor combinado ou não fica à teu critério, podendo ser a existência de um arquivo, de uma chave de registro, etc., indicando que foi teu sistema que chamou a conexão.
SET TERM !! ;
CREATE OR ALTER TRIGGER T_DB_CONTROL
ACTIVE ON CONNECT
AS
DECLARE VARIABLE PERMISSAO INTEGER;
BEGIN
SELECT DB_CONTROL() FROM RDB$DATABASE
INTO :PERMISSAO;
IF(PERMISSAO <> 33279) THEN
EXCEPTION ACESS_DENIED;
END!!
SET TERM ; !!
Abraço.
Em seg, 18 de mar de 2019 às 11:14, luapfirebird em yahoo.com.br <luapfirebird em yahoo.com.br> escreveu:
Jovem achei interessante sua ideia porém tentei fazer e não consegui você poderia me passar um exemplo dessa trigger para proteger o banco de dados
Grato.
Mais detalhes sobre a lista de discussão lista