Oracle 7.3 bis Oracle 23c 20+ Jahre Erfahrung Version (Freigegeben: )

Oracle Initialisierungs-Skript

07 Feb 2017

Seit KeepTool Version 12.1.3 kann nach dem Anmelden in Hora ein Oracle Initialisierungs-Skript ausgeführt werden. Für jede Datenbankverbindung kann ein eigener Skriptname im erweiterten Bereich des Connect-Dialogs zugeordnet werden;

Zur Anregung beschreiben wir hier zwei Situationen, für die das Skript ausgesprochen hilfreich sein kann:

  • Beim Verbinden zur Datenbank über eine „SQL*Net“-Verbindung initialisiert der Oracle-Client die Session-Variablen für Spracheinstellungen aus Registry-Einträgen bzw. Umgebungsvariablen des Betriebssystems. Bei einer direkten TCP/IP-Verbindung müssen Variablen wie NLS_LANGUAGE oder NLS_TERRITORY manuell initialisiert werden. Mit Hilfe des Initialisierungsskripts kann das jetzt automatisiert werden.
  • In PL/SQL hinterlegte Geschäftslogik oder datensatzbezogene Anwenderberechtigungen (Virtual Private Database) benötigen unter Umständen eine Initialisierung, die normalerweise im Rahmen der Benutzeranmeldung durch die (Web-) Applikation durchgeführt wird. Damit die Geschäftslogik vom Entwickler auch innerhalb von Hora getestet werden kann, muss diese Initialisierung ebenfalls durchgeführt werden. Das kann über den Initialisierungsskript jetzt automatisiert werden.

Der folgende Beispielskript initialisiert zunächst zwei Session-Variablen mit nationalen Ländereinstellungen. Anschließend wird der Windows-Benutzername ermittelt und an die Geschäftslogik weiter gegeben:

Nach der Anmeldung zeigt Hora eine Tooltip-Benachrichtigung, wenn der Oracle Initialisierungs-Skript läuft. Darin wird der ausgeführte SQL-Text angezeigt.

Sie können im Initialisierungsskript Eingabeparameter der Form :PARAMETER verwenden. Diese werden vor dem Ausführen des Skripts abgefragt. Falls der Name des Parameters PASSWORD ist oder mit dem ‘_’-Zeichen beginnt, wird der Parameterwert wie bei Passworteingabe üblich nicht angezeigt.

See how it works!

Entdecken Sie die Möglichkeiten von KeepTool.

i,g