Firebird de procedure gizleme

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
Kullanıcı avatarı
softdestek
Üye
Mesajlar: 155
Kayıt: 17 Eyl 2010 03:53

Firebird de procedure gizleme

Mesaj gönderen softdestek »

Kendi yazdığım programda sysdba kullanıcı olarak giriş yaptığımda tüm procedure ve trigerler her şeyin kısacası kodu görünüyor..ibexpert programı ile..

Geçenlerde akınsoft muhasebe programını inceleyim dedim.Veritabanında procedure ismi ve parametrelerini ibexpert gösteriyor programın ddl fonsiyonu kullandığımızda procedure içinde hangi kodlar var bunu göremiyoruz..

RDB$ADMIN Diye bir rol eklenmiş veritabanına bu role ise veritabanındaki procedurler için sadece "excute yetkisi verilmiş..

Eğer bu role "select,update,delete,insert,reference" gibi yetkiler verebilirsek olay tamam olur sanırım...
Bu konu hakkında çözüm bulabilirmiyiz?

Böyle bir gizlemeyi nasıl yapmışlar öğrenme imkanı var mıdır?
Öğrenebilirsem aynısı bende programlarımda kullanabilirimde.

Örnek veritabanı Linki aşağıdadır


https://rapidshare.com/files/2622080312/GMUHASEBE.FDB
Hakan Can
Üye
Mesajlar: 634
Kayıt: 04 Mar 2005 04:27
Konum: Ankara

Re: Firebird de procedure gizleme

Mesaj gönderen Hakan Can »

Şu SQL scriptlerini kullanabilirsin:

Kod: Tümünü seç

update RDB$PROCEDURES 
set RDB$PROCEDURE_SOURCE = null 
where RDB$SYSTEM_FLAG is null or RDB$SYSTEM_FLAG = 0;
 
update RDB$TRIGGERS 
set RDB$TRIGGER_SOURCE = null 
where RDB$SYSTEM_FLAG is null or RDB$SYSTEM_FLAG = 0;
 
update RDB$RELATIONS 
set RDB$VIEW_SOURCE = null 
where (RDB$SYSTEM_FLAG is null or RDB$SYSTEM_FLAG = 0) 
and RDB$VIEW_BLR is not null;
Cevapla