Spatial Database Viewer für Oracle
Der Spatial Database Viewer ist ein Java-basierter Datenbank-Client für Oracle, der die Formulierung von SQL-Anweisungen und die Visualisierung der Daten und Anfrageergebnisse erlaubt. Als Besonderheit werden objektrelationale und Geo-Erweiterungen von Oracle speziell unterstützt.
Geodatenbank-Funktionalitäten, die durch den Spatial Database Viewer unterstützt werden:
- Visualisierung geometrischer Attribute und deren Metadaten sowie von geometrischen Anfrageergebnissen
- Unterstützung von
SDO_GEOMETRY
undST_GEOMETRY
, inkl. NURBS, TINs und 3D - tabellarische Darstellung als WKT
- grafische Darstellung in Kartenfenster (3D-Koordinaten werden auf 2D projiziert)
- Unterstützung von
- Visualisierung topologischer Attribute und deren Metadaten
- Visualisierung und Laden von
SDO_GEORASTER
-Objekten
Weitere Funktionalitäten, die durch den Spatial Database Viewer unterstützt werden:
- Anzeige von RowID-, CLOB-, XML- und JSON-Inhalten
- direkte Anzeige des Anfrageplans
- Felder
- Objekte (mit ihrer Struktur)
- prozedurale Erweiterungen zur Programmierung von Methoden
- Upload von Java-Quellcode in die Datenbank
- Objekttabellen, Referenztypen and Objektsichten
Neuerungen in der Version 4.2 (November 2021)
- verbesserte Unterstützung von 3D-Daten
- Anzeige von WKT in Attributfeldern
- Laden von GeoRaster integriert
- Unterstützung von nativen
JSON
-Datentyp (Oracle 21c) - Anzeigemöglichkeit vom Anfrageplan
- Anzeigen von Sequenzen, Check- und Unique-Constraints
- Anfrageergebnisse in Zwischenablage kopierbar
- Bündelung von SQL-Anweisungen im Batch-Modus möglich
Download
- Viewer (Version 4.2.2 vom 7.11.2021; zip-Datei; 2,3MB)
Ausführungshinweise
- Zur Ausführung des Viewers (Doppelklick auf
dbviewer4oracle.jar
) ist Java 8 oder höher erforderlich. - Der Viewer in der Version 4.2 wurde mit Oracle 19c und 21c getestet, sollte aber auch für die übrigen Versionen einsetzbar sein.
- Der Viewer setzt voraus, dass relativ zu
dbviewer4oracle.jar
in einem Verzeichnislib
folgende Bibliotheken vorliegen:spatialdb4oracle.jar
,jai_core-1.1.3.jar
,jai_codec-1.1.3.jar
(im Download enthalten)ojdbc8.jar
(in%ORACLE_HOME%\jdbc\lib
zu finden)sdoapi.jar
,sdoutl.jar
,sdogr.jar
(in%ORACLE_BASE%\md\jlib
zu finden)xdb.jar
(in%ORACLE_BASE%\rdbms\jlib
zu finden)xmlparserv2.jar
(in%ORACLE_BASE%\lib
zu finden)
- Für das Laden von Rasterdaten durch den Viewer müssen zusätzlich folgende Bibliotheken im Verzeichnis
lib
vorliegen:geotiff-jai.jar
,xtiff-jai.jar
(im Download enthalten)georasterapi.jar
,ordimimg.jar
(in%ORACLE_BASE%\md\jlib
zu finden)jewt4.jar
(in%ORACLE_BASE%\jlib
zu finden)xmlcomp.jar
,xschema.jar
(in%ORACLE_BASE%\lib
zu finden)
- Die nicht bereitgestellten Bibliotheken sollten von Oracle 19c oder 21c stammen!
- Bei Bedarf ggf. von der Website Oracle Technical Resources: Database Software Downloads herunterladen.
- Neben der Installation der Datenbank sollten dazu auch die Oracle Database Examples installiert werden (unter See All zu finden).
- Über die Datei
spatialdbviewer.properties
können die Verbindungsparameter vorbelegt werden; eine entsprechend geänderte Datei kann über 7-Zip o.ä. indbviewer4oracle.jar
hineinkopiert werden. Bei Verwendung von Bibliotheken mit anderen Dateinamen (z.B. muss die Manifest-Datei entsprechend angepasst werden.
Benutzungshinweise
- Verbindungsaufnahme:
- Wird kein DB-Rechner angegeben, erfolgt die Verbindung über den OCI Driver.
- Ansonsten wird der Thin Driver verwendet.
- Bei Datenbank kann direkt der Name des Dienstes oder der PDB angegeben werden; eine SID benötigt den Präfix
:
- Die Eingabe von SQL-Anweisungen erfolgt unten in der SQL-Eingabe:
- Die Ausführung wird über den Startknopf gestartet.
- Anweisungen die mit
/
abschlossen werden, dürfen in der SQL-Eingabe nicht mit SQL-Anweisungen, die mit einem;
abgeschlossen werden, gemischt werden. - Die Eingabe von
EXPLAIN PLAN FOR
vor einer SQL-Anfrage zeigt den Anfrageplan an. - Sollte eine SQL-Anweisung einen Fehler verursachen, werden evtl. weitere sich in der Eingabe befindliche Anweisungen nicht mehr ausgeführt.
- Der Einfügeknopf ersetzt den bisherigen Inhalt der SQL-Eingabe durch Daten aus der Zwischenablage; eine automatische Ausführung erfolgt nicht. Soll der bisherige Inhalt nicht gelöscht werden, ist Strg-V zu verwenden.
- Die Anzeige von Ergebnissen erfolgt im Ausgabebereich oben rechts:
- Für geometrische Attribute wird der Datentyp und WKT angezeigt.
- Die Geometrien werden (optional) in einem separaten Kartenfenster visualisiert.
- Der WKT wird (optional) zusätzlich in einem separaten Fenster dargestellt.
- Das Ergebnis wird über den Knopf [Kopieren] in die Zwischenablage kopiert.
- Das Anklicken eines Tupels öffnet ein Detailfenster; ein zugehöriges geometrisches Attribut wird ggf. im Kartenfenster hervorgehoben dargestellt.
- Sollten mehrere geometrisches Attribute zu dem Tupel gehören, kann das jeweilige Attribut durch Anklicken des Attributnamens (der in einem Knopf steht) im Detailfenster hervorgehoben werden.
- Komplexere Attributwerte (z.B. Felder und Objekte) können durch den Knopf [...] rechts vom Attributwert im Detailfenster in einem separaten Fenster visualisiert werden.
- Fremdschlüssel und Objektreferenzen können durch den Knopf [...] rechts vom Attributwert im Detailfenster verfolgt werden.
- Ein GeoRaster kann über durch Anklicken des Attributnamens im Detailfenster angezeigt werden.
- Ein initialisiertes GeoRaster kann über den Knopf [Laden] in der Datenbank gespeichert werden.
- Für geometrische Attribute wird der Datentyp und WKT angezeigt.
- Die Tabellenübersicht (links) stellt die Tabellen und Sichten des Benutzers dar.
- Die Tabellenübersicht kann über ein Kontextmenü bezüglich des Datenbankeintrags aktualisiert werden.
- Falls DDL-Abweisungen über den Viewer abgesetzt werden, aktualisiert die Übersicht i.d.R. automatisch.
- Bei Tabellen erlaubt ein Kontextmenü die Anzahl der Tupel in der Tabelle zu zählen, diese im Ausgabebereich anzuzeigen sowie die Check- und Unique-Constraints anzuzeigen..
- Falls DML-Anweisungen (oder ein Rollback) bezüglich einer so angezeigten Tabelle ausgeführt werden, aktualisiert sich der Ausgabebereich i.d.R. automatisch.
- Bei Objekttabellen erlaubt das Kontextmenü zusätzlich die Anzeige des Basistyps.
- Bei Sichten erlaubt das Kontextmenü zusätzlich die Anzeige der Sichtdefinition.
- Bei Objektsichten ist zusätzlich die Anzeige des Basistyps möglich.
- Die jeweils zugehörigen Attribute werden durch Doppelklick auf den Tabellen-/Sichtnamen aus- bzw. eingeklappt.
- Für geometrische Attribute können Metadaten und Index-Metadaten über ein Kontextmenü angezeigt werden.
- Für topologische Attribute (
SDO_TOPO_GEOMETRY
) können Metadaten, Maschen sowie Kanten und Knoten über ein Kontextmenü visualisiert werden.
- Die Tabellenübersicht kann über ein Kontextmenü bezüglich des Datenbankeintrags aktualisiert werden.
- Das System-Menü ermöglicht es,
- die Datenbankverbindung zu öffnen bzw. zu schliessen,
- ein automatisches Commit aus- bzw. einzuschalten,
- einen Batch-Modus zu aktivieren bzw. zu deaktivieren (im Batch-Modus werden alle SQL-Anweisungen gebündelt an den Server übertragen),
- alle Sequenzen anzuzeigen,
- das Kennwort zu ändern (2* neues Kennwort eingeben),
- den SQL-Log anzuzeigen bzw. als Datei zu speichern,
- die automatische Karten- bzw. WKT-Anzeige ein- bzw. auszuschalten.
- Das Programmierung-Menü erlaubt es,
- Quellcode in die SQL-Eingabe zu laden,
- in der Datenbank gespeicherten Quellcode bzw. Quellcodefehler anzuzeigen,
- Java-Code (aus der SQL-Eingabe) in der Datenbank abzuspeichern bzw. dort zu löschen.
- Zum Speichern und Löschen ist ein "Java Schema Name" anzugeben, der i.d.R. dem Klassennamen entsprechen sollte (Groß- und Kleinschreibung ist hier relevant).
- Das Ansicht-Menü erlaubt die Zeichengröße (nur) des Hauptfensters anzupassen.
Allgemeine Hinweise
- Liegen im Schema des Benutzers sehr viele Tabellen und/oder Sichten vor, dauert es ggf. eine Weile, bis der Viewer bereit ist.
- Eine erstmalige Aktion (z.B. die erstmalige Anzeige einer Rasterkarte) dauert i.d.R. länger als deren Wiederholung.
- Die Zielrichtung des Viewers ist das Lernen des Umgangs mit Geodatenbanksystemen und nicht die Visualisierung großer Datenmengen.