QueryReporter German
QueryReporter German
0
Benutzerhandbuch
Juli 2003
Query Reporter 2.0 Benutzerhandbuch 3
Lizenzbedingungen
Diese Version des Query Reporter ist Freeware . Dies bedeutet, dass Sie diese Software auf einem PC
oder auf einem File Server installieren und unbegrenzt nutzen dürfen. Gemäß der Natur von Freeware
wird diese Software kostenlos angeboten.
Nutzungsrecht
Gemäß den Bedingungen dieser Vereinbarung erteilt Allround Automations Ihnen hiermit das nicht
ausschließliche Recht zur Nutzung und zum Kopieren der lizenzierten Software für persönliche oder
interne Zwecke, vorausgesetzt, dass jegliche Kopie alle ursprünglichen und unveränderten
Urheberrechtsbedingungen, inklusive, aber nicht beschränkt auf, dieser Lizenzbedingungen beinhalten
muss. Die Lizenz beinhaltet nicht das Recht auf technischen Support, Upgrades oder irgendeine andere
Leistung.
Geistiges Eigentum
Dieses Programm ebenso wie alle entsprechenden Copyrights oder andere geistige oder gewerbliche
Eigentumsrechte sind der Eigentum von Allround Automations und werden geschützt durch die
niederländische Rechte zum geistigen Eigentum.
Einschränkungen
Sie dürfen nicht:
1. die lizenzierte Software oder Dokumentation verändern oder als Basis für andere Produkte
verwenden;
2. die lizenzierte Software dekompilieren, disassemblieren, reverse engineeren oder anderweitig
versuchen, den Quelltext der lizenzierten Software zu erlangen;
3. die lizenzierte Software verbreiten, beleihen, verkaufen, vermieten, verpachten, unterlizenzieren
oder anderweitig an jegliche Dritte weitergeben;
4. in der lizenzierten Software oder dem Produkt jegliches Markenzeichen, Logo, Copyright oder
andere Urheberrechtshinweise, Beschriftungen, Symbole oder Label löschen oder ändern;
Haftungsausschluss
Ungeachtet ob die Bestimmungen dieses Lizenzvertrages ihren grundlegenden Zweck verfehlen, haftet
Allround Automations in keinem Fall für irgendwelche besonderen, nachfolgenden, indirekten oder
ähnlichen Schäden, einschließlich aller eventuell entgangenen Gewinne oder Datenverluste die durch
die Verwendung der Software oder weil die Software nicht verwendet werden kann entstanden sind,
auch wenn Allround Automations auf die Möglichkeit solcher Schäden hingewiesen wurde. In einigen
Staaten ist die Haftungsbeschränkung oder der Haftungsausschluss bei zufälligen Schäden oder
Folgeschäden nicht erlaubt, daher ist es möglich, dass die obengenannte Haftungseinschränkung oder
der Haftungsausschluss nicht für Sie gelten. In keinem Fall überschreitet die Haftung von Allround
Automations den Kaufpreis der Software. Die oben dargelegten Haftungsausschlüsse und
Einschränkungen werden gültig, ungeachtet ob Sie die Software akzeptieren.
Markenzeichen
Allround Automations, Query Reporter sind Markenzeichen von Allround Automations, Enschede,
Niederlande. Andere in diesem Handbuch oder der Software erwähnten Produktnamen können
Markenzeichen oder eingetragene Markenzeichen der entsprechenden Firmen sein und werden hiermit
anerkannt.
4 Query Reporter 2.0 Benutzerhandbuch
Query Reporter 2.0 Benutzerhandbuch 5
Inhalt
LIZENZBEDINGUNGEN..................................................................................................................................... 3
INHALT..................................................................................................................................................................... 5
1. EINLEITUNG............................................................................................................................................. 7
2. INSTALLATION ....................................................................................................................................... 9
2.1 SYSTEMVORAUSSETZUNGEN...................................................................................................................9
2.2 LOKALE INSTALLATION ...........................................................................................................................9
2.3 FILE SERVER INSTALLATION.................................................................................................................10
2.4 DEINSTALLATION DES QUERY REPORTERS ........................................................................................10
3. REPORTS ERSTELLEN.......................................................................................................................11
3.1 VARIABLEN ..............................................................................................................................................12
3.2 Ä NDERUNG DES LAYOUTS.....................................................................................................................17
3.3 DIE STYLE BIBLIOTHEK .........................................................................................................................25
3.4 OPTIONEN.................................................................................................................................................26
4. SPEICHERN UND LADEN VON REPORTDEFINITIONSDATEIEN..................................28
5. AUSGABE DES REPORTS..................................................................................................................29
6. DER QUERY BUILDER........................................................................................................................30
6.1 ERSTELLEN EINES NEUEN SELECT STATEMENTS...............................................................................30
6.2 Ä NDERUNG EINES BESTEHENDEN SELECT STATEMENTS.................................................................35
6.3 BEARBEITEN DER QUERYDEFINITION..................................................................................................36
6.4 QUERY BUILDER PRÄFERENZEN ..........................................................................................................37
7. SQL SYNTAX HERVORHEBUNG...................................................................................................39
8. KOMMANDOZEILEN INTERFACE...............................................................................................40
8.1 PARAMETER FÜR OPTIONEN ..................................................................................................................40
8.2 PARAMETER FÜR A KTIONEN .................................................................................................................40
6 Query Reporter 2.0 Benutzerhandbuch
Query Reporter 2.0 Benutzerhandbuch 7
1. Einleitung
Der Query Reporter ist ein leicht zu bedienendes Werkzeug zum Erstellen und Ausführen von HTML
Reports für die Ergebnisse einer SQL Abfrage auf einer Oracle Datenbank. Basierend auf einer
einfachen Abfrage können tabellarische, aufgeteilte und Master/Detail Reports definiert werden. Das
Layout kann durch Definition von Farben, Schriftarten, Ausrichtungen, Kopfzeilen usw. angepasst
werden:
SQL Syntaxhervorhebung
Der SQL Editor verwendet Syntaxhervorhebung, um die Lesbarkeit des SQL Statements zu verbessern
und um eine schnelle Prüfung der SQL Syntax zu ermöglichen.
8 Query Reporter 2.0 Benutzerhandbuch
Kommandozeilen Interface
Über das Kommandozeilen Interface des Query Reporters können Reports ohne Benutzereingabe
ausgeführt und das Ergebnis als HTML gespeichert werden. Das Ergebnis kann mit einem beliebigen
Web Browser angezeigt werden.
Sicherheit
Es können Reports erstellt werden, die unter einem bestimmten Oracle Benutzer ausgeführt werden,
ohne dem End-Benutzer dessen Passwort bekanntzugeben. Zum Beispiel kann ein Report für den
Benutzer SYS erstellt und sein Passwort in der verschlüsselten Reportdatei gespeichert werden. Die
Reportdefinition kann nur mit dem Passwort für den Benutzer SYS geändert oder angesehen werden.
Kontaktinformationen
Adresse: Allround Automations
Krooshooplanden 11
Enschede, 7542HZ
The Netherlands
Web: [Link]
E-mail: support@[Link]
Query Reporter 2.0 Benutzerhandbuch 9
2. Installation
Grundsätzlich gibt es zwei Wege, den Query Reporter zu installieren:
• Lokale Installation. In diesem Fall wird der Query Reporter lokal auf jeder Arbeitsstation
installiert, auf der der Query Reporter genutzt werden soll.
• File Server Installation. In diesem Fall wird der Query Reporter in einem Verzeichnis auf einem
File Server installiert, auf das alle Arbeitsstationen Zugriff haben, die den Query Reporter nutzen
werden.
Beide Installationsarten werden nachfolgend beschrieben.
2.1 Systemvoraussetzungen
Der Query Reporter läuft unter Windows 95, 98, ME, NT4, 2000 oder XP. Um sich an einer Oracle
Datenbank anzumelden, wird eine 32-Bit Version von SQL*Net, Net 8 oder Net 9 auf der Workstation
benötigt. Der Query Reporter ist kompatibel mit jeder Oracle7, Oracle8, Oracle8i und Oracle9i
Datenbank.
Es kann ein Installationsverzeichnis für die Programmdateien und ein Ordner im Startmenü ausgewählt
werden, ob eine Verknüpfung auf dem Desktop angelegt werden soll und es können weitere
Installationsoptionen angegeben werden. Über die Buttons Weiter und Zurück können sie zwischen den
beiden Setup Dialogen zur Auswahl der Installationsoptionen navigieren. Nachdem der Button
Abschließen auf der letzten Seite angeklickt wurde, werden die Programmdateien kopiert und die
Verknüpfungen angelegt.
10 Query Reporter 2.0 Benutzerhandbuch
3. Reports erstellen
Reports sind sehr leicht zu erstellen. Nach dem Start des Query Reporters und dem Verbindungsaufbau
zur Datenbank wird ein leerer Report geöffnet:
Im SQL Editor kann ein SQL Select Statement für den Report eingegeben werden. Für einen
Master/Detail Report kann ein Join Select Statement (das später erklärt wird) verwendet werden. Als
einfaches Beispiel wird ein Select Statement auf die wohlbekannte emp Tabelle eingegeben und
anschließend der Button Ausführen auf der Toolbar geklickt:
12 Query Reporter 2.0 Benutzerhandbuch
Das Ergebnis ist ein einfacher Report, der nur Standardwerte für das Erscheinungsbild verwendet. In
den nachfolgenden Kapiteln wird beschrieben, wie die Funktionalität und Darstellung der Reports
angepasst werde kann.
3.1 Variablen
Häufig werden für Reports zusätzliche Eingaben benötigt, bevor sie ausgeführt werden können.
Angenommen, der Report vom vorherigen Kapitel soll auf die Mitarbeiter eines Departments (deptno)
eingeschränkt werden. In diesem Fall wird eine Substitutionsvariable in das SQL Statement eingefügt:
select * from emp
where deptno = &department
order by ename
Wird dieser Report ausgeführt, wird der Benutzer vor der Ausführung des Select Statements in einem
Dialog zur Eingabe von department aufgefordert. Das ist natürlich nicht wirklich narrensicher. Was
passiert, wenn der Benutzer nichts eingibt? Das Select Statement führt zum Fehler ORA-00936: missing
expression. Was ist, wenn der Benutzer etwas eingibt, das keine Zahl ist? Oder eine Nummer, die nicht
in der Tabelle dept enthalten ist? Um solche Situationen zu vermeiden, können verschiedene Parameter-
Optionen verwendet werden, die in den nachfolgenden Kapiteln beschrieben werden. Die Optionen
müssen wie Attribute in HTML oder XML Dokumenten in eckigen Klammern angegeben werden.
Option Name
Der Name einer Variablen wird als Eingabeaufforderung im Dialog zur Eingabe der Variablen
verwendet. Daher sollten Sie sichergehen, dass er die Bedeutung der Variablen beschreibt. Der Name ist
die einzige Option, die nicht in eckigen Klammern angegeben werden muss, wenn es sich um die
einzige Option handelt. Enthält der Name Leerzeichen oder andere spezielle Zeichen, muss er in
Anführungszeichen gesetzt werden. Die folgenden beiden Beispiele sind äquivalent:
select * from emp
where deptno = &”Department Nummer”
order by ename
Query Reporter 2.0 Benutzerhandbuch 13
und
select * from emp
where deptno = &<name=”Department Nummer”>
order by ename
Option Hint
Zusätzlich zur Option Name kann ein Text für den Hint eingegeben werden. Der Hint wird in der
Statuszeile im Dialog zur Eingabe der Variablen angezeigt, wenn das Eingabefeld der Variablen
ausgewählt ist.
select * from emp
where deptno = &<name=”Department Nummer”
hint=”Nur Mitarbeiter dieses Departments werden angezeigt”>
order by ename
Option Type
Die Option Type schränkt den Wert, den der Benutzer für die Variable eingeben kann ein und steuert,
wie der eingegebene Wert in den SQL Text eingefügt wird:
select * from emp
where deptno = &<name=”Department Nummer”
type=”integer”>
order by ename
In diesem Fall kann der Benutzer nur gültige ganzzahlige Werte eingeben. Die eingegebene Variable
wird im SQL Statement ohne Anpassung durch diesen Wert ersetzt. Für Strings wollen Sie aber sicher,
dass der vom Benutzer eingegebene Wert in Hochkomma eingeschlossen wird. Betrachten wir das
folgende Select Statement:
select * from emp
where ename = &<name=”Name des Mitarbeiters”
type=”string”>
Wenn im Dialog zur Eingabe der Variablen SCOTT (ohne Hochkomma) eingegeben wird, sieht das
resultierende SQL Statement folgendermaßen aus:
select * from emp
where ename = 'SCOTT'
Gültige Werte für Type sind None, String, Integer, Float und Date. Für Date Werte erfolgt keine
Prüfung, dadurch kann der Benutzer zusätzlich Datumsausdrücke wie Sysdate, Trunc(Sysdate, 'MM')
usw. verwenden.
Option Required
Ist für eine Variable ein Wert erforderlich, kann die Option Required verwendet werden. Die Option
Required muss auf „yes“ oder „true“ gesetzt werden.
select * from emp
where deptno = &<name=”Department Name”
required=”yes”>
order by ename
Jetzt kann der Report nur ausgeführt werden, wenn für die Departmentnummer ein Wert eingegeben
wird.
Option Default
Mit der Option Default kann ein Standardwert für die Variable vorgegeben werden.
select * from emp
where deptno = &<name=”Department Nummer”
default=”10”>
order by ename
14 Query Reporter 2.0 Benutzerhandbuch
Der Standardwert kann auch aus einem Select Statement bestehen. Das Select Statement darf nur eine
Zeile mit einer Spalte zurück liefern. Ein Beispiel:
select * from emp
where deptno = &<name=”Department Nummer”
default=”select min(deptno) from dept”>
order by ename
In diesem Fall ist der Standardwert die kleinste Departmentnummer.
Option Ifempty
Als Alternative zu den Optionen Required und Default kann mit der Option Ifempty ein Wert
vorgegeben werden, der verwendet wird, wenn vom Benutzer kein Wert für die Variable eingegeben
wurde.
select * from emp
where ename like &<name=”Name des Mitarbeiters”
type=”string”
ifempty=”%”>
Wird kein Wert angegeben, wird das Prozentzeichen verwendet und es werden alle Mitarbeiter
(Employees) ausgewählt. Diese Option kann nicht gemeinsam mit der Option Required verwendet
werden.
Option Uppercase
Wenn eine Stringvariable automatisch in Großbuchstaben umgewandelt werden soll, muss die Option
Uppercase auf „Yes“ oder „True“ gesetzt werden.
select * from emp
where ename = &<name=”Name des Mitarbeiters”
type=”string”
uppercase=”yes”>
Der Wert wird so angezeigt wie eingegeben, wird aber im resultierenden SQL Statement in
Großbuchstaben umgewandelt.
Option List
Die Option List gibt dem Benutzer eine Liste mit möglichen Werten vor. Die einzelnen Einträge der
Liste werden mit Komma getrennt angegeben:
select * from emp
where deptno = &<name=”Department Nummer”
list=”10, 20, 30, 40”>
order by ename
Der Benutzer kann einen der vier Einträge auswählen oder eine anderen Wert eingeben. Hier macht es
jedoch mehr Sinn ein Select Statement für die Einträge der Liste zu verwenden:
select * from emp
where deptno = &<name=”Department Nummer”
list=”select deptno from dept order by deptno”>
order by ename
Zusätzlich kann zu jedem Eintrag eine Beschreibung angegeben werden:
select * from emp
where deptno = &<name=”Department Nummer”
list=”10, ACCOUNTING
20, RESEARCH
30, SALES
40, OPERATIONS”
description=”yes”>
order by ename
Query Reporter 2.0 Benutzerhandbuch 15
Hinter jedem Eintrag folgt eine Beschreibung und die Option Description wurde hinzugefügt. In der
Liste wird jetzt nur die Beschreibung angezeigt, aber im resultierendem SQL Statement wird der
eigentliche Wert verwendet.
Die Liste mit Beschreibungen kann auch über ein Select Statement mit zwei Feldern erstellt werden:
select * from emp
where deptno = &<name=”Department Nummer”
list=”select deptno, dname from dept order by dname”
description=”yes”>
order by ename
Mit der Option Resticted kann verhindert werden, das ein anderer Wert eingegeben werden kann. Es
muss ein Wert aus der Liste ausgewählt werden.
select * from emp
where deptno = &<name=”Department Nummer”
list=”select deptno, dname from dept order by dname”
description=”yes”
restricted=”yes”>
order by ename
Mit dieser Anweisung kann der Benutzer nur einen Wert aus der Liste auswählen und keinen mehr
selbst eintragen.
Es kann sein, dass die Elemente einer Liste vom Wert einer anderen Variablen abhängen.
Angenommen, es soll ein Report erstellt werden, der alle Spalten einer bestimmten Tabelle ausgibt.
Eine Tabelle wird über ihren Besitzer und ihren Namen identifiziert. Für den Besitzer kann eine Liste
mit allen Benutzern der Datenbank verwendet werden. Für den Tabellennamen wird der View all_tables
für den ausgewählten Besitzer abgefragt:
select * from all_tab_columns
where owner = &<name="Owner"
type="string"
list="select username from all_users order by username">
and table_name = &<name="Table"
type="string"
list="select table_name from all_tables
where owner = :owner
order by table_name">
order by column_id
Wie man sieht, verweist das Select Statement für die zweite Liste (Table) über die Bindevariable :owner
auf den Wert der ersten Variablen. Immer wenn sich der Wert für owner verändert, wird die zweite
Liste (Table) neu gefüllt.
Beachten Sie bitte, dass der Name der Bindevariablen nicht länger als 30 Zeichen langsein und keine
Leerzeichen oder andere Sonderzeichen enthalten darf. Leerzeichen im Variablennamen werden in
Unterstriche umgewandelt. Wenn für den Variablennamen Besitzer der Tabelle angegeben worden
wäre, hätte die Bindevariable den Namen :besitzer_der_tabelle bekommen..
Zu beachten ist auch, dass wenn der Wert der Variablen leer ist, die abhängige Liste ebenfalls leer ist. In
diesem Fall wird keine Abfrage ausgeführt.
Option Checkbox
Wenn der Benutzer eine von zwei unterschiedlichen Möglichkeiten auswählen kann, kann die Option
Checkbox verwendet werden. Nach dieser Option müssen die Werte für ausgewählt und nicht
ausgewählt folgen:
select * from emp
order by hiredate &<name=”Absteigende Sortierung”
checkbox=”desc, asc”>
16 Query Reporter 2.0 Benutzerhandbuch
Aus wenn immer beide Variablen angegeben werden müssen, kann eine von den beiden Variablen leer
sein:
select * from emp
order by hiredate &<name=”Absteigende Sortierung”
checkbox=”desc,”>
Da die vorgegebene Sortierreihenfolge asc ist, sind beide Beispiele äquivalent.
Escapezeichen
Soll in einem SQL Statement ein kaufmännisches Und-Zeichen verwendet werden, das nicht als
Substitutionsvariable interpretiert werden soll, muss dieses Zeichen doppelt verwendet werden. Das
nachfolgende Beispiel liefert alle Mitarbeiter für das 'R&D' Department zurück:
select * from emp
where [Link] in (select [Link] from dept
where dname = 'R&&D')
order by empno desc
Wäre nur der Text 'R&D' angegeben worden, wären Sie nach einem Wert für die Variable D gefragt
worden.
Query Reporter 2.0 Benutzerhandbuch 17
Hier können für die Layoutelemente (Reporttitel, Variablen, Tabellen und Felder) unterschiedlichste
Layouteigenschaften angegeben werden. Sollen für ein bestimmtes Feld gesonderte Eigenschaften
definiert werden, müssen zuerst über den Button Feldliste aktualisieren auf der Layout Toolbar alle
Felder geladen werden:
Nun werden alle Felder aus der Ergebnismenge des Select Statements im Layoutraster angezeigt und
das Layout kann für jedes Feld individuell angepasst werden. Werden die Eigenschaften für Style,
Kopfzeile oder Ausrichtung leer gelassen, wird die entsprechenden Werte aus dem Standardfeld
verwendet.
Nachdem Eigenschaften des Layouts geändert wurden, muss der Report erneut ausgeführt werden,
damit die Änderungen im Report angezeigt werden. Alternativ kann auch die Option Auto Update auf
der Toolbar ausgewählt werden, dadurch wird jede Änderung direkt im Report angezeigt.
Die nachfolgenden Kapitel beschreiben im Detail die verschiedenen Eigenschaften für das Layout.
Anzeige
Die Checkbox in der ersten Spalte desLayoutrasters kennzeichnet, ob der Eintrag im Report angezeigt
werden soll oder nicht. Dadurch ist es möglich, den Reporttitel oder Variablen auszublenden und
ermöglicht die Kontrolle, ob ein bestimmtes Feld angezeigt werden soll oder nicht.
Beschreibung
Die Beschreibung des Reporttitels wird oberhalb des Reports und nach jedem Seitenumbruch angezeigt.
Die Beschreibung der Variablen wird oberhalb der Variablen angezeigt.
Für die einzelnen Felder kann eine Beschreibung angegeben werden, die den Feldnamen überschreibt.
Diese Beschreibung wird als Feldüberschrift in der Kopfzeile angezeigt.
Query Reporter 2.0 Benutzerhandbuch 19
Style
Mit dem Style wird das Aussehen der einzelnen Elemente bestimmt. Über den Button in der Zelle (...)
wird der Style Editor aufgerufen.
In der Listbox im oberen Bereich des Style Editors werden die standard und benutzerdefinierten Styles
angezeigt. Es kann ein Standard Style aus der Style Library (siehe Kapitel 3.3) ausgewählt werden oder
der benutzerdefinierte Style, um die Einstellungen
für das aktuell ausgewählte Element zu ändern.
Das Style System basiert auf den Cascading Style
Sheets (CSS) Standard. Im Style Editor sind die
Eigenschaften sichtbar, die Sie wahrscheinlich am
häufigsten nutzen werden. Es können aber noch
zusätzliche CSS Eigenschaften und Werte nach den
Standardeigenschaften hinzugefügt werden. Zum
Beispiel kann die Style Eigenschaft Height mit
einem Wert von 20pt zugefügt werden, die die
Zellenhöhe auf 20 Punkten setzt. Weitere
Informationen zu Cascading Style Sheets erhalten
Sie unter [Link]
Die Buttons Kopieren und Einfügen ermöglichen es
die Eigenschaften eines Styles zu kopieren. Damit ist
es einfach möglich, einen neuen Style basierend auf
einem vorhandenen zu erstellen.
Wird für ein Feld kein Style angegeben, wird der
Style des Standardfeld aus der Style Bibliothek
verwendet. Dieses Verhalten kann durch die
Styledefinition des Standardfeld Fields übersteuert
werden. Auf Feldebene kann der dadurch
vorgegebene Style durch Angabe der entsprechenden
Eigenschaften übersteuert werden. Jedes Feld erbt
automatisch die Eigenschaften der Styledefinition
des Standardfelds. Daher müssen nur die Eigenschaften überschrieben werden, die auch tatsächlich
geändert werden sollen. Wenn zum Beispiel im Default Fild Verdana, 14 Punkt und blau angegeben ist,
die Spalte EMPNO aber in Verdana, 14 Punkt und rot dargestellt werden soll, muss nur die Farbe für
das Feld EMPNO geändert werden. Die Schriftart und Schriftgröße wird automatisch vom Default Fild
übernommen.
Der vorgegebenen Styles für die verschiedenen Layouteinträge werden im Kapitel 3.3 beschrieben.
Kopfzeile
So wie die Style Eigenschaften für die Daten der verschiedenen Felder gesetzt werden können, so
können auch die Eigenschaften ihrer Kopfzeilen gesetzt werden. Wird nichts definiert, wird der Default
Field Header Style der Style Bibliothek verwendet. Dieses Verhalten kann durch Definition des Default
Header Styles übersteuert werden. Die Eigenschaften dieses Styles können auf Feldebene durch Angabe
der entsprechenden Styleeigenschaften übersteuert werden. Zu beachten ist, dass jede Feldüberschrift in
der Kopfzeile ihre Eigenschaften vom Default Header Style erbt, daher müssen nur die Eigenschaften
übersteuert werden, die auch tatsächlich geändert werden sollen.
Ausrichtung
Die einzelnen Elemente können wie folgt ausgerichtet werden:
• Left – Der Eintrag wird in der Zelle links ausgerichtet
20 Query Reporter 2.0 Benutzerhandbuch
Format
Normalerweise wird das Format eines Feldes durch den Datentyp, die Anzahl der Nachkommastellen
und die Genauigkeit bestimmt. Für berechnete und aggregierte Felder sind u.U. diese Werte nicht
bekannt. In diesem Fall kann ein Format angegeben werden.
Die Eigenschaft Format hat nur Auswirkung auf Datumsfelder und numerische Felder. Für numerische
Felder kann eine 9 für Null-unterdrückende Zeichen, 0 für normale Zeichen, G für ein
Tausendertrennzeichen, D für ein Dezimaltrennzeichen und E für wissenschaftliche Notation verwendet
werden. Zusätzlich kann ein Text in Anführungszeichen oder Hochkommata angegeben werden. Einige
Beispiele:
Für Datumsfelder können die Standardformate von Windows für Datum und Uhrzeit verwendet werden.
Gliederung
Das Eigenschaft Gliederung im Layoutraster ermöglicht die Strukturierung der Reportausgabe. Um das
Departement und die Belegschaft anzuzeigen, muss folgender Query ausgeführt werden:
select d.*, e.*
from emp e, dept d
where [Link] = [Link]
order by [Link], [Link]
Query Reporter 2.0 Benutzerhandbuch 21
Durch die Angabe von Break für die Gliederung des Feldes LOC, bekommt der Report ein wenig mehr
Struktur.
Sich wiederholende Werte für die Felder bis zu (und inklusive) LOC werden nicht angezeigt oder in
anderen Worten: Jedes Department wird nur einmal angezeigt. In diesem Fall ist es wichtig, dass die
22 Query Reporter 2.0 Benutzerhandbuch
Records nach Department (Feld DEPTNO) sortiert sind. Soll die Kopfzeile nach jedem Wechsel erneut
angezeigt werden, muss die Option Break + Header verwendet werden.
Alternativ kann auch Master/Detail für die Gliederung angegeben werden:
In einem Report können mehrere Gliederungsebenen angegeben werden. Über die Klausel Order By
muss sichergestellt werden, dass die Ergebnismenge nach allen Feldern sortiert ist, für die eine
Gliederung angegeben ist.
Query Reporter 2.0 Benutzerhandbuch 23
Summe
Die Eigenschaft Summe ermöglicht es eine Summe für ein Feld einzufügen:
Die Summe kann entweder auf der Gliederungsebene, Reportebene oder beiden berechnet werden.
Kopfzeilen
Um eine Kopfzeile zu definieren, muss zuerst die Seitengröße angegeben werden (siehe Kapitel 3.4).
Die Kopfzeile wird nach jedem Seitenumbruch wiederholt und kann folgende Variablen beinhalten:
• OSUser – Der am Betriebssystem angemeldete Benutzer.
• DBUser – Der mit der Datenbank verbundene Benutzer.
• Database – Die Datenbank, mit der der Benutzer verbunden ist.
• Date – Das aktuelle Datum.
• Time – Die aktuelle Uhrzeit.
• Page – Die aktuelle Seite.
Um eine Variable in die Kopfzeile einzubinden, muss dem Variablennamen ein kaufmännisches Und
vorangestellt werden. Zum Beispiel:
Wird der Report mit dem Benutzer scott und der Datenbank chicago ausgeführt, sieht die Kopfzeile
folgendermaßen aus:
Da der Report in HTML definiert ist, kann auch HTML-Code eingefügt werden. Um ein Bild
einzubinden, kann das Tag <img> verwendet werden:
Zusätzlich kann der Text ausgerichtet werden. Die Angabe über die Ausrichtung (Links, Rechts oder
Zentriert) kann zum Beispiel über eine Tabelle mit drei Spalten und einer Zeile wie folgt angegeben
werden:
Die Variablen und HTML-Codes können in den Beschreibungen aller Layoutelemente verwendet
werden, aber der Einsatz ist im sinnvollsten in der Kopfzeile.
Query Reporter 2.0 Benutzerhandbuch 25
3.4 Optionen
Auf dem Reiter Optionen können für einen Report können verschiedene Einstellungen definiert werden:
Verbindungsparameter
Die Verbindungsparameter bestimmen wie die Abfrage ausgeführt wird, die dem Report zugrunde liegt.
Wenn es zum Beispiel notwendig ist, dass der Report unter dem Benutzer SYS ausgeführt wird, kann
dieser Name im dem Feld Benutzername eingetragen werden. Zusätzlich kann das Passwort eingegeben
werden, muss aber nicht. Wird kein Passwort eingegeben, wird nach dem Passwort gefragt, wenn der
Report ausgeführt wird. Außerdem kann die Datenbank angegeben werden, wenn der Report immer auf
ein und derselben Datenbankinstanz ausgeführt werden soll. Alternativ kann * in dem Feld Datenbank
eingeben werden, dadurch wird der Report auf der aktuell ausgewählten Datenbank ausgeführt.
Mit der Option Nutze diese Verbindung kann bestimmt werden, ob die Verbindungsparameter für einen
Report genutzt werden sollen oder nicht. Ist sie nicht markiert, wird die aktuelle Verbindung genutzt.
Sicherheit
Die Option Sicherheit erlaubt es die Reportdefinition (SQL, Layout und Optionen) zu sperren, damit ein
Benutzer sie nicht sehen oder ändern kann. Dies ist sinnvoll, wenn in den Verbindungsparametern ein
privilegierter Benutzer (wie SYS ) mit Passwort angegeben ist. Wenn in diesem Fall der Benutzer das
SQL ändern könnte, könnte er jedes beliebige SQL Statement unter dem Benutzer SYS ausführen, wenn
der Report nicht gesperrt ist.
Die Sicherheit kann auf eine der folgenden Werte gesetzt werden:
• Offen – Jeder kann die Reportdefinition ändern.
Query Reporter 2.0 Benutzerhandbuch 27
• Für andere Benutzer gesperrt – Die Reportdefinition kann nur geändert werden, wenn das
Passwort für den Report bekannt ist oder wenn sich mit dem Benutzer aus den
Verbindungsparametern an der Datenbank angemeldet wurde.
• Für alle Benutzer gesperrt – Die Reportdefinition kann nur geändert werden, wenn das Passwort
für den Report bekannt ist, unabhängig davon welcher Benutzer aktuell an der Datenbank
angemeldet ist.
Wenn der Report gesperrt ist, ist die Reportdatei (.rep) verschlüsselt, damit sie nicht mit einem
Texteditor angesehen oder geändert werden kann.
Layout Optionen
• Formular Layout – Standardmäßig werden alle Datensätze tabellarisch dargestellt, ausgenommen
der Master Record, der im Form Layout dargestellt wird. Wird diese Option ausgewählt, werden
alle Datensätze im Form Layout angezeigt. Dies ist sinnvoll, wenn jeder Datensatz viele oder/und
große Felder hat, die nicht in einer einzelnen Zeile dargestellt werden können.
• Linker Seitenrand – Die Anzahl der Pixel für den linken Seitenrand des Reports. Diese Option hat
nur Auswirkung, wenn der Internet Explorer zur Anzeige verwendet wird.
• Oberer Seitenrand – Die Anzahl der Pixels für den oberen Seitenrand des Reports. Diese Option
hat nur Auswirkung, wenn der Internet Explorer zur Anzeige verwendet wird.
• Seitenumbruch – Die Anzahl Zeilen nach denen ein Seitenumbruch vorkommen soll. Die
Kopfzeile des Reports wird nach jedem Seitenumbruch wiederholt.
• Nur NBSP – Wenn ausgewählt, werden alle Leerzeichen in den erzeugten Daten in NBSP’s (Non-
Breaking Spaces) in der HTML Ausgabe umgewandelt. Wenn nicht ausgewählt, werden normale
Leerzeichen verwendet. Dies kann das Layout beeinflussen, weil Programme zur Anzeige von
HTML aufeinanderfolgende Leerzeichen als ein Leerzeichen darstellen.
• Inklusive SQL – Wenn ausgewählt, wird das SQL Statement des Reports in der HTML Ausgabe
angezeigt.
Andere Optionen
• Hintergrundbild – Das Bild (.jpg oder .gif), das im Hintergrund des Reports angezeigt werden soll.
Über den Button Datei auswählen kann ein Bild gesucht werden.
• Hintergrundfarbe – Die Farbe, die im Hintergrund des Reports angezeigt werden soll.
28 Query Reporter 2.0 Benutzerhandbuch
Auf der linken Seite befindet sich der Object Browser mit den Tabellen und Views. Auf der rechten
Seite befindet sich der Arbeitsbereich, der im Moment leer ist. Im unteren Bereich befinden sich drei
Eingabebereiche für die Felder (und optional für die Into Einträge), die Where- und die Order By-
Klausel. Der untere Bereich besteht aus den Reitern Parts und SQL. Auf dem Reiter SQL wird der SQL
Text gezeigt, der sich aus der aktuellen Query Definition ergibt.
Im oberen Bereich befindet sich eine Toolbar mit den Buttons Neu zur Erstellung einer neuen Query,
Öffnen zum Öffnen einer gespeicherten Querydefinition, Speichern um die aktuelle Querydefinition in
einer Datei zu speichern, Parse zum Parsen der aktuellen Querydefinition und Präferenzen. Über den
Button OK gelangt man zum SQL Editor zurück und die erstellte SQL Query wird übernommen.
Durch ziehen von Tabellen oder Views aus dem Object Browser in den Arbeitsbereich können diese
zum Select Statement hinzugefügt werden. Wurde in den Präferenzen Immer Tabelleneigenschaften
Query Reporter 2.0 Benutzerhandbuch 31
zeigen ausgewählt und eine neue Tabelle wird hinzugefügt, erscheint der Dialog für die
Tabelleneigenschaften:
In den Tabelleneigenschaften kann ein Alias für die Tabelle angegeben werden. Als Beispiel soll ein ‚e’
für die Tabelle emp verwendet werden:
32 Query Reporter 2.0 Benutzerhandbuch
Nachdem auf dem gleichen Wege die Tabelle Dept hinzugefügt wurde, bietet der Query Builder eine
Liste der Foreign Keys an, über die die Tabellen verknüpft werden können. In unserem Beispiel handelt
es sich um den Foreign Key FK_DEPTNO:
Wird der Foreign Key FK_DEPTNO ausgewählt, wird die Join-Bedingung im unteren Bereich des
Fensters angezeigt.
Query Reporter 2.0 Benutzerhandbuch 33
Nun wird die Tabelle Dept hinzugefügt und die Join-Bedingung wird im Arbeitsbereich angezeigt:
34 Query Reporter 2.0 Benutzerhandbuch
Als nächstes müssen die Tabellenspalten zur Feldliste des Select Statements hinzugefügt werden. Durch
Auswahl der Checkbox neben dem Spaltennamen wird die Tabellenspalte zur Feldliste hinzugefügt. Die
Tabellenspalten werden im Eingabebereich Felder angezeigt:
Query Reporter 2.0 Benutzerhandbuch 35
Zum Erstellen der Order By-Klausel muss die entsprechende Spalte, hier die Spatel empno, auf das Feld
Order By gezogen werden:
Nun kann über den Button OK das SQL Statement in den Editor eingefügt werden.
Die meisten Präferenzen beeinflussen das Layout des generierten Select Statements:
• Schlüsselwörter
Bestimmt, wie die SQL Schlüsselwörter (select, from, into, where, order by) in das erstellte SQL
Statement eingefügt werden.
• Bezeichner
Bestimmt, wie die Bezeichner (Tabellenname, Spaltenname) in das erstellte SQL Statement
eingefügt werden.
• Ausrichtung Schlüsselworte
Gibt an, ob Schlüsselwörter links oder rechts ausgerichtet werden.
• Komma Separator
Bestimmt ob das Komma vor oder nach dem aktuellen Eintrag gesetzt wird. Dies ist hauptsächlich
relevant, wenn die Option Ein Ausdruck je Zeile verwendet wird.
• 'AND' Separator
Bestimmt ob der 'AND' Operator vor der nächsten oder nach der aktuellen Bedingung in der
Where-Klausel eingefügt wird.
• Tabellen Besitzer voranstellen
Wenn ausgewählt, wird dem Tabellennamen der Besitzer der Tabelle vorangestellt, zum Beispiel
[Link] anstatt emp. Wenn nicht ausgewählt, wird nur den Tabellen der Besitzer vorangestellt,
die nicht dem aktuellen angemeldeten Benutzer gehören.
• Schlüsselwörter in extra Zeile
Wenn ausgewählt, werden die SQL Schlüsselwörter in eine extra Zeile eingefügt und alle
folgenden Einträge werden in neue Zeilen geschrieben, die um zwei Zeichen eingerückt sind.
Wenn nicht ausgewählt, werden sie sofort nach den Schlüsselworten in der selben Zeile eingefügt.
38 Query Reporter 2.0 Benutzerhandbuch
8. Kommandozeilen Interface
Der Query Reporter unterstützt eine Vielzahl von Kommandozeilenparametern, über die Optionen
angegeben oder Aktionen ausgeführt werden können. Die Parameter können auf der Kommandozeile, in
einer Batchdatei oder in einer Verknüpfung angegeben werden. Um den Query Reporter zum Beispiel
mit dem Benutzer scott und der Datenbank wetzlar zu starten, kann folgende Kommandozeile
verwendet werden:
C:\Programme\QueryReporter\[Link] userid=scott/tiger@wetzlar
Parameter für Aktionen werden in der Reihenfolge ausgeführt, wie sie in der Kommandozeile angegben
werden. Die nachfolgende Kommandozeile verbindet sich zum Beispiel als scott, führt den Report
[Link] aus, speichert das Ergebnis in die Datei [Link] und beendet den Query Reporter.