Einrichtung einer ODBC Datenquelle für das GTDS

Übersicht

Der Zugriff von Nicht-ORACLE-Produkte, wie z.B. MS-Office-Produkte oder Statistikpakete, direkt (d.h. ohne Export von Daten und Import in das Produkt) auf ORACLE-Tabellen wird häufig über ODBC (Open DataBase Connectivity) realisiert. ODBC ist eine Microsoft Windows spezifische Programmierschnittstelle (API), um auf viele SQL-Datenbanken, wie eben auch ORACLE, zuzugreifen ohne daß die Anwendung wissen muß, was für ein Datenbanksystem dahinterliegt. Das bedeutet, daß jede SQL-Datenbank einen eigenen Treiber benötigt, der vereinfacht ausgedrückt, die SQL-Statements entgegennimmt, an die Datenbank weitergibt und das Resultat zurückgibt. Bei ORACLE wird dazu das auch für den Betrieb des grafischen GTDS-Client benötigte SQL*Net benötigt.

Folgende Übersicht wurde aus der ORACLE-Hilfe zum ORACLE7 ODBC Treiber entnommen:

Application (d. h. z.B. MS-ACCESS)
|
ODBC Driver Manager (Nicht-ORACLE-spezifisch, wird im Rahmen der ODBC Installation installiert)
(ODBC32.DLL)
|
Oracle7 32-bit ODBC driver
(SQO32_7x.DLL)
|
OCI Layer
(ORA7x.DLL)
|
SQL*Net Driver (diese und folgende Punkte sind bei laufendem grafischen GTDS schon korrekt installiert)
|
Network Software
(Microsoft LAN Manager, Novell NetWare, and so on)
|
SQL*Net Listener
|
Oracle7 RDBMS

Um über ODBC auf GTDS-Tabellen zuzugreifen, müssen folgende Schritte durchgeführt werden.

  1. Installation von ODBC
  2. Installation des ORACLE-ODBC Treibers
  3. Einrichtung von ODBC Datenquellen für das GTDS
  4. Beispielhafte Einrichtung eines Zugriffs unter MS-Access
Wichtige Vorbemerkung: Wie bei jeder Softwareinstallation kann nicht garantiert werden, daß ein System danach in den vorher vorhandenen Komponenten noch genauso funktioniert wie nach der Installation. Die hier beschriebene Anleitung beruhen auf eigenen Erfahrungen und können gegebenenfalls nicht verallgemeinert werden. Die Installation neuerer Versionen in Kombination mit neueren MS-Office-Produkten lief in der Regel problemlos. Bei älteren Versuchen haben wir  allerdings auch merkwürdige Phänomene beim Betrieb von Office-Produkten gesehen.

Installation von ODBC

Hierauf kann an dieser Stelle nicht eingegangen werden. ODBC ist evtl. als Teil des Betriebssystems oder im Rahmen einer MS-Office Installation schon installiert oder kann ggf. bei Microsoft Webservern heruntergeladen werden.

Installation des ORACLE-ODBC Treibers

Für die ORACLE-Treiber gibt es verschiedene Quellen. Zu empfehlen ist ein möglichst neuer Treiber, da ältere teilweise wegen fehlender Umsetzung neuerer ODBC-Funktionen nur eingeschränkt funktionierten. Von ORACLE gelieferte Treiber werden nach dem Entpacken mit den entsprechenden ORACLE-Installern installiert.

Einrichtung von ODBC Datenquellen für das GTDS

Hinweis: Die Anleitung wurde unter WindowsNT 4.0 erstellt. Unter Windows95/98 müßten entsprechende Punkte vorhanden sein.

Öffnen Sie den ODBC-Administrator (Systemsteuerung oder im Startmenü unter ORACLE für NT / Windows95 o.ä.

Darauf öffnet sich folgendes Fenster:

Zu sehen sind die vorhandenen Datenquellen (DSN), die die Zugriffsinformationen (Treiber, Datenbank, weitere Parameter etc.) enthalten.
Benutzerdatenquellen sind nur für den aktuellen Benutzer verfügbar, Systemdatenquellen für alle (berechtigten) Benutzer. Diese beiden Datenquellen werden in der Windows-Registratur gespeichert und sind daher nicht ohne weiteres transferierbar. Datei-Datenquellen speichern die Zugriffsinformationen in einer Datei, die auf andere Rechner kopiert werden kann. Wir haben die Erfahrung gemacht, daß manche Anwendungen nicht alle Arten von Datenquellen anzeigen. Im Zweifelsfall muß eine Datenquelle nochmals für eine andere Art angelegt werden.

Im folgenden wird eine System-DSN für das GTDS in einer ORACLE7-Datenbank angelegt. Dabei bedeutet ORACLE7 eher die Einschränkung auf die zugehörige SQL*Net Version als auf die ORACLE-Version. Über diese SQL*Net Version kann auch auf ORACLE8 Datenbanken zugegriffen werden.
 

Bei "Hinzufügen" zeigt sich folgendes Dialogfenster:

In diesem Fall sind zwei passende ORACLE-Treiber installiert (Microsoft ODBC für Oracle und Oracle73 Ver 2.5) installiert. (Die anderen ORACLE-Treiber sind ein veralteter und einer für ORACLE8).

Die weitere Installation für diese beiden ist ähnlich, gezeigt wird die für den markierten ORACLE Treiber:

Hier sind die notwendigen Eintragungen zu sehen. Im obersten Feld ist der Name der Datenquelle zu sehen, der im Prinzip frei wählbar ist. Der SQL*Net Connect String ist genau der gleiche Connectstring, der in SQL*Net Easy Configuration für das GTDS als Alias gewählt wurde und der im Zusammenhang mit der Benutzerkennung immer als Datenbankname gebraucht wird, in der Regel "gtds".

Der Name der Datenquelle ist jetzt in der Übersicht zu sehen:

Mit Konfigurieren können die Einstellungen geändert werden.

Beispielhafte Einrichtung eines Zugriffs unter MS-Access

(Microsoft Access Version 97)

Starten Sie ACCESS und erstellen Sie eine neue Datenbank:

Wählen Sie folgenden Menüpunkt


 

Das weitere Vorgehen ist für beide Vorgehensweisen identisch.

Wählen Sie in diesem Fenster den Dateityp ODBC-Datenbanken.

Es erscheinen Datei- und Computer (Benutzer- und System) Datenquellen.
In der Karteikarte Computerdatenquelle wählen Sie die vorher erstellte Datenquelle "gtds"

Zumindest beim ersten Zugriff in der ACCESS-Sitzung werden Sie nach Benutzerkennung und Passwort gefragt

Wählen Sie eine der Tabellen oder Views aus

Den ggf. darauf folgenden Dialog können Sie u.U. übergehen. Falls kein Primärschlüssel angegeben ist, kann keine (evtl. ja auch nicht erwünschte) Änderung der Datensätze in der GTDS-Datenbanke erfolgen. Das ist allerdings kein verläßliches Vorgehen um das GTDS vor Ändeurngen zu schützen, da ACCESS evtl. selbst einen Primärschlüssel findet und dann doch in der Lage ist, verknüpfte Datensätze in der ORACLE-Datenbank zu ändern. Wenn ein UNIQUE-Index auf eine Tabelle angelegt ist, wird zum Beispiel der Dialog gar nicht erst angezeigt.

Anschließend ist die Verknüpfung in der Tabellen-Karteikarte zu sehen (und kann dort umbenannt werden, ohne daß sich der Name der ORACLE-Tabelle ändert).

Hinweis: Falls beim Öffnen der Tabelle ein Fehler auftritt, muß ACCESS verlassen und anschließend wieder geöffnet werden.