Eine Anwendung und eine Datenbank kann weitergegeben werden, ohne dabei die Logik innerhalb der Prozeduren, Funktionen, Triggern und Ansichten preiszugeben. Als zusätzliche Sicherheitsmaßnahme können Sie den Inhalt dieser Objekte mit der SET HIDDEN-Klausel der Anweisungen ALTER PROCEDURE, ALTER FUNCTION, ALTER TRIGGER und ALTER VIEW verbergen.
Die SET HIDDEN-Klausel verschleiert den Inhalt der zugeordneten Objekte und macht sie unlesbar, wobei die Nutzbarkeit der Objekte nach wie vor möglich ist. Des weiteren können Sie die Objekte in eine andere Datenbank entladen und neu laden.
Die Änderung kann nicht rückgängig gemacht werden und löscht den Originaltext des Objekts. Deshalb ist eine Sicherung des Originaltextes dieses Objekts außerhalb der Datenbank notwendig.
Bei der Fehlersuche unter Verwendung des Debuggers wird weder die Definition der Prozedur angezeigt, noch zeigen die Prozedurprofilinformationen den Quelltext an.
Eine Ausführung der oben genannten Anweisungen auf einem bereits verschlüsselten Objekt hat keine Auswirkungen.
Um Text für alle Objekte eines bestimmten Typs zu verbergen, können Sie eine der folgenden Schleife ähnliche Schleife verwenden:
BEGIN FOR hide_lp as hide_cr cursor FOR SELECT proc_name, user_name FROM SYS.SYSPROCEDURE p, SYS.SYSUSER u WHERE p.creator = u.user_id AND p.creator NOT IN (0,1,3) DO MESSAGE 'altering ' || proc_name; EXECUTE IMMEDIATE 'ALTER PROCEDURE "' || user_name || '"."' || proc_name || '" SET HIDDEN' END FOR END; |
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2010, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.0 |