Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.0 (Deutsch) » SQL Anywhere Server - SQL-Benutzerhandbuch » Gespeicherte Prozeduren und Trigger » Prozeduren, Trigger und Batches verwenden

 

Inhalt von Prozeduren, Funktionen, Triggern und Ansichten verbergen

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;
 Siehe auch