Neue Features für Reporting und Automatisierung

Was ist neu an Toad for Oracle 9.0?

Johannes Ahrends

Seit Oktober ist die neue Version von Toad for Oracle von Quest Software auf dem Markt. Die Entwicklungs- und Verwaltungsumgebung für Datenbank-Entwickler, Datenbank-Administratoren und so genannte Power-User wurde weiter optimiert und mit neuen Funktionen ausgestattet. Toad for Oracle ist seit vielen Jahren ein Werkzeug, um Anwendungen rund um die Datenbank zu entwickeln und sie zu verwalten. Das neue Release bietet viel Neues: vor allem verbesserte Reporting-Möglichkeiten, einen universellen Editor, mehr Automatisierung und zusätzliche Schnittstellen.

Viele Anwender nutzen Toad for Oracle, um sich auf unterschiedlichen Datenbanken anzumelden. Dabei ist die Datei CONNECTIONS.INI behilflich, in der die Passwörter gespeichert werden, damit der Anwender sie nicht jedes Mal neu eingeben muss. Die Daten in dieser Datei werden zwar verschlüsselt, jedoch war es bislang sehr einfach, diese Datei zu knacken und sich mit einigen Tricks Zugriff auf diese eventuell sensiblen Daten zu verschaffen. Um dies in Zukunft zu vermeiden, werden die Passwörter in der Version 9.0 von Toad in einer speziellen Datei, der CONNECTIONPWDS.INI, gespeichert. Die AES-Verschlüsselung (Advanced Encryption Standard) enthält jetzt zusätzlich die Host-ID und die Volume-ID, sodass das Kopieren auf einen anderen Rechner nicht mehr möglich ist.

Die Mehrzahl der Anwender nutzt die traditionelle TNS-Names-Methode (Transparent Network Substrate). Die Datenbankeinträge werden aus der Datei TNSNAMES.ORA gelesen bzw. neue Datenbanken können über den TNS-Names-Editor hinzugefügt werden.

Toad 9.0 bietet zudem neue Varianten der Anmeldung: Es lassen sich eine direkte Verbindung zu einer Datenbank aufgebauen oder ein LDAP-Verzeichnis (Lightweight Directory Access Protocol) nutzen. Die erste Variante, der direkte Zugriff auf eine Datenbank, eignet sich vor allem für kleinere Unternehmen. Statt des TNS-Names-Eintrages werden einfach der Hostname, der Servicename und der Port angegeben. Die LDAP-Funktion ist speziell für große Unternehmen interessant, weil keine lokalen Dateien mehr gepflegt werden müssen, sondern die Einträge über einen LDAP-Server zur Verfügung gestellt werden.

Nach der Anmeldung fällt zunächst die geänderte Menüstruktur von Toad 9.0 auf. Neben dem Session-Menü mit den Funktionen Connect und Disconnect bestehen hier nun zusätzlich Commit– und Rollback-Einträge sowie ein Utility-Menü mit allen nichtdatenbankspezifischen Funktionen wie FTP, Telnet oder dem Task-Scheduler. Für mehr Übersicht wurde ebenfalls gesorgt: Einige Menüs, wie zum Beispiel TOOLS, DBA und CREATE, wurden zum Menüpunkt DATABASE zusammengefasst und deren Funktionen an entsprechender Stelle eingegliedert. Dies vereinfacht das Ausblenden bestimmter Bereiche, die für den Anwender nicht relevant sind.

Der neue Editor

Kern von Toad for Oracle 9.0 bildet der neue Editor. Während es bislang notwendig war, für unterschiedliche Anforderungen (PL/SQL-Programmentwicklung, SQL-Befehle, Textdateien etc.) unterschiedliche Editoren in Toad oder sogar externe Werkzeuge zu verwenden, gibt es in der Version 9.0 einen Editor, der all diese Funktionen erfüllt:

  • SQL Style: In diesem Modus werden SQL-Befehle direkt verarbeitet. Mit der zugehörigen Multigrid-Ausgabe ist es möglich, eine ganze Sammlung von Abfragen als ein Skript zu starten und die Ergebnisse in separaten Ausgabefenstern (Data Grid) anzeigen zu lassen.
  • PL/SQL Style: Dieser Modus ersetzt den bisherigen Procedure Editor. Durch eine einfache Änderung des Styles wird die Funktion umgeschaltet und das Ergebnisfenster positioniert sich auf den DBMS_OUTPUT und enthält zusätzlich einen Reiter für Watches.
  • Text Style: Im Textmodus können beliebige Textdateien geladen werden. Dies schließt die Möglichkeit ein, mit Toad zu arbeiten, ohne sich an eine Datenbank anzumelden. Toad kann so auch als „einfacher“ Texteditor verwendet werden.
  • XML Style: In diesem Modus können XML-Dateien gelesen bzw. bearbeitet werden. Zusätzlich gibt es einen Navigator, der die Tags als Baumstruktur (XML Tree) darstellt sowie wichtige Informationen, wie z.B. die Versionen in separaten Bereichen ausgibt.
  • Hex Style: Dieser Modus komplettiert den Editor. Er erlaubt die Darstellung von Hex-Dateien zur besseren Lesbarkeit (Abb.1).

Abb. 1: Der neue Editor spricht viele Sprachen gleichzeitig uns stellt z.B. Hex-Dateien dar.
PL/SQL- und SQL-Style im Detail

Beide Modi verfügen in Toad for Oracle 9.0 über eine optionale Debuggingfunktion sowie über die Möglichkeit, ein so genanntes Code Folding durchzuführen. Code Folding bezeichnet das Zusammenfalten bzw. Gruppieren von bestimmten, logisch zusammenhängenden Quelltextabschnitten. Während die Debuggerfunktionen im PL/SQL hinlänglich bekannt sind, können diese auch für SQL-Skripte sinnvoll eingesetzt werden. Die Skripte vieler Anwender sind umfangreich und kommen wiederholt zum Einsatz. Ein Beispiel: Ein Anwender legt mehrere Tabellen an, füllt diese mit einem INSERT AS SELECT-Statement mit allerhand Daten, führt verschiedene Änderungen an den Daten durch (z.B. durch UPDATE) und speichert die Daten gegebenenfalls sogar noch in einer anderen Tabelle. Wurde der ganze Vorgang ausgiebig getestet, wird es wahrscheinlich keine Probleme geben. Wie kann der Anwender sicherstellen, ob der INSERT-Befehl richtig durchgeführt wurde? Bisher halfen sich Nutzer, indem sie das Skript zerstückelten und die Teile einzeln ausführten. Mit dem Skript-Debugger ist es jetzt möglich, einen Breakpoint nach dem INSERT-Statement zu setzen und in einer parallelen Session die Daten zu prüfen. Ein SELECT nach dem INSERT-Befehl erfüllt diese Aufgabe ebenso. Mit dem Breakpoint und der Funktion STEP OVER wird der nächste Befehl einzeln ausgeführt und der Nutzer kann sofort erkennen, ob der Befehl ordnungsgemäß ausgeführt wurde.

Die neue Funktion Code Folding soll die Arbeit mit dem Quellcode vereinfachen. Zum einen verbessert diese Funktion die Übersichtlichkeit komplexer PL/SQL-Prozeduren und SQL-Skripte durch die Zusammenfassung von logisch zueinander gehörenden Programmteilen. Diese Quelltextabschnitte können dann aus- und eingeblendet werden. Dies hilft zum anderen, Anfang und Ende von Schleifen, Gruppen (BEGIN – END) oder IF-Anweisungen zu identifizieren. Damit kann der Fehler „238/7 PLS-00103: Fand das Symbol „;“ als eines der folgenden erwartet wurde: loop“ schnell gefunden und behoben werden (Abb. 2).

Abb. 2: Die Funktion Code Folding fasst logisch zusammenhängende Quelltextabschnitte zusammen.
Ergebnisdarstellung und Reporting

Neben den Bereichen der PL/SQL-Programmentwicklung, wo Daten direkt eingetragen werden und es standardmäßig keine Ausgabe (außer über dbms_output) gibt, ist die Ergebnisdarstellung eine der wichtigsten Funktionen für die Toad als Werkzeug genutzt wird. Bereits seit mehreren Versionen bietet Toad die Möglichkeit, Ergebnismengen (Data Grids), egal, ob per SQL-Befehl, im Schema-Browser oder im Query Builder erstellt, in unterschiedlichen Formaten abzuspeichern. Die Speicherung als Excel-Datei oder als zusätzliche Instance in einer bestehenden Datei sind ebenfalls beliebte Ablagevarianten. In Version 9.0 kann die Save as-Funktion jetzt aus jedem beliebigen Data Grid, inklusive so genannter Multiple Grids, genutzt werden.

Mit der neuen Reporting-Engine von Toad 9.0 wird die Darstellung in Excel überflüssig. Die Erstellung umfangreicher Berichte auf Basis der Data Grids sind mit der Reporting-Engine komfortabel möglich. Die Berichte haben ein völlig eigenständiges Layout, sodass das Berichtsformat des Unternehmens integriert werden kann.

Über Variablen, die zur Laufzeit eingegeben werden können, ist es somit möglich, bestimmten Anwenderkreisen flexible Reports zur Verfügung zu stellen.

Der Anwender gibt nur noch die entsprechenden Variablen ein (zum Beispiel ein Datum) und erhält dann einen fertigen Bericht. Im Report Builder selbst können dann weitere Einstellungen, wie Layout oder Bildinformationen, hinterlegt werden (Abb. 3 und 4).

Abb. 3: Die Reporting-Engine erstellt umfangreiche Berichte auf Basis der Data Grids.

Abb. 4: Anwender können bestimmte Variablen definieren und erhalten dann einen Report.

Neben der Abspeicherung von Ergebnissen in unterschiedlichen Formaten können die Inhalte von Excel-Tabellen auch direkt in Datenbank-Tabellen gespeichert werden. Toad 9.0 stellt dafür eine spezielle Schnittstelle bereit, sodass sich der Umweg über den Oracle Loader erübrigt. Im Schemabrowser lässt sich über die rechte Maustaste die Kontextansicht einer Tabelle aktivieren. Über die Funktion Import from Text, Excel, or Access wird ein Wizard gestartet, der zunächst die Struktur der Excel-Tabelle lädt. Der Anwender kann entscheiden, welche Excel-Spalte in welche Tabellenspalte münden soll. Anschließend werden die Daten geladen und angezeigt. Dabei wird Standardmäßig kein „Commit“ durchgeführt, sodass der Anwender genügend Zeit hat, sich den Inhalt anzusehen und zu verifizieren, bevor diese Daten allgemein zur Verfügung stehen (Abb. 5).

Abb. 5: Just in Time Debugging arbeitet im Echtbetrieb der Anwendung.
Geschrieben von
Johannes Ahrends
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.