Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-04-2004
jncrls jncrls is offline
Registrado
 
Registrado: may 2003
Ubicación: Venezuela
Posts: 6
Poder: 0
jncrls Va por buen camino
Ocultar código de Stored Procedures y Triggers en FireBird...

Hola a todos...

Alguien sabe cómo se puede ocultar el código de los trigger y los stored procedures en FireBird 1.5?.... hace tiempo leí un artículo en este Club donde decía cómo hacerlo, pero lo probé en FireBird 1.5 y no funciona... es error mio o es algo que ya no se puede en FireBird 1.5...

Gracias de antemano
Responder Con Cita
  #2  
Antiguo 09-04-2004
gendelphi gendelphi is offline
Miembro
 
Registrado: jul 2003
Ubicación: Tlaxcala Mexico
Posts: 73
Poder: 21
gendelphi Va por buen camino
Borrar codigo fuente triggers y SP

Yo siempre lo he hecho asi:

Código:
UPDATE RDB$PROCEDURES
SET RDB$PROCEDURE_SOURCE = NULL
WHERE RDB$PROCEDURE_SOURCE IS NOT NULL
Para los SP, y para los Triggers:

Código:
UPDATE RDB$TRIGGERS
SET RDB$TRIGGER_SOURCE = NULL
WHERE RDB$TRIGGER_SOURCE IS NOT NULL

y siempre ha funcionado, incluso en Firebird 1.5

Nota: El código (fuente) no se oculta, realmente se elimina.
Responder Con Cita
  #3  
Antiguo 10-04-2004
teletranx teletranx is offline
Miembro
 
Registrado: feb 2004
Ubicación: Chile
Posts: 112
Poder: 21
teletranx Va por buen camino
Cool

Saludos
en los triggers falta, ya que cuando check, falla.

para Triggers
UPDATE RDB$TRIGGERS
SET RDB$TRIGGER_SOURCE = NULL
WHERE Upper( f_blobleft(RDB$TRIGGER_SOURCE,5))<>'CHECK' and RDB$TRIGGER_SOURCE IS NOT NULL

y recuerda que también tienes que borrar la historia

Delete From IBE$VERSION_HISTORY

Saludos

Juan Carlos
Responder Con Cita
  #4  
Antiguo 07-01-2007
Avatar de ArdiIIa
[ArdiIIa] ArdiIIa is offline
Miembro Premium
 
Registrado: nov 2003
Ubicación: Valencia city
Posts: 1.481
Poder: 22
ArdiIIa Va por buen camino
Por experiencia, te digo que hay que estar muy seguro de que una BD está muy optimizada y tener un funcionamiento perfecto para realizar esas operaciones, dado que a posteriori y con toda seguridad, esos procedimiento nunca más podrán ser editados.
__________________
Un poco de tu generosidad puede salvar la vida a un niño. ASÍ DE SENCILLO
Responder Con Cita
  #5  
Antiguo 08-01-2007
lbuelvas lbuelvas is offline
Miembro
 
Registrado: may 2003
Ubicación: Colombia
Posts: 377
Poder: 21
lbuelvas Va por buen camino
Bueno, un forista que no he vuelto a ver por estos lados y de quien agradezco mucho sus conocimientos, experiencia y sencilles, el señor "kinobi" elaboro un documento en pdf y un programa para borrar el codigo fuente de procedimientos almacenados que se llama Khidemetadata que pueden encontrar en:

http://homepages.borland.com/torry/tools_dbother.htm

El asunto es que yo modifique un poco las sentencias de actualizacion para no borrar ciertos triggers que utilizo para manejar la auditoria de las base de datos y que pueden ser modificadas por los administradores que hacen uso de mis aplicaciones (por eso necesitan el fuente), es solamente la parte que tiene el texto
AND rdb$trigger_name NOT starting with 'LOG_';
todo lo demas esta intacto a como dijo el señor kinobi y en la documentacion explica el porque de esas sentencias SQL.

Código SQL [-]
update rdb$procedures
set rdb$procedure_source = null
where (rdb$system_flag = 0);

update rdb$triggers
SET rdb$trigger_source = NULL
WHERE (((rdb$system_flag = 0) OR (rdb$system_flag IS NULL))
AND   (rdb$trigger_name NOT IN (SELECT rdb$trigger_name
                                FROM rdb$check_constraints)))
AND   rdb$trigger_name NOT starting with 'LOG_';

update rdb$relations
set rdb$view_source = null
where (rdb$system_flag = 0);

Es posible que se necesite hacer un backup y luego un restore pues en algunas ocasiones reviso la base de datos con IBExpert y veo que no se ha borrado el codigo fuente.

Debido a que hoy dia tiro gran parte de la aplicacion hacia el motor de bases de datos y utilizo Delphi para asuntos netamente de interfase de usuario me veo en la obligacion de borrar el fuente en las bases de datos de los clientes.

Solo quiero hacer una advertencia, siempre hagan copias de seguridad por lo menos de los metadatos antes de cualquier borrado, espero no les pase lo que me paso en estos dias.

Resulta que venia haciendo mis copias de seguridad sin inlcuir ciertas bases de datos, por una extraña razon el 23 de diciembre mi computador se reinicio y empezo Windows XP a hacer una revision del disco algo extraña, con mensajes de indexacion de archivos que no habia visto antes.

Dos de las bases de datos de trabajo quedaron en "0" bytes, es decir se borraron !!!. No tengo copias de seguridad pues por error no estaban en la lista de copias y si voy donde un cliente a sacar una copia de su base de datos ésta tampoco tiene el fuente !!!.

Como les quedo el ojo ? Ocultar los metadatos es buena opcion si quieres proteger tu trabajo intelectual, pero si no es manejado cautelosamente puedes perder meses de trabajo.
__________________
Luis Fernando Buelvas T.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 19:28:02.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi