Über eine SQL Schnittstelle kann InterAss auf Oracle Datenbanken zugreifen.
Hierzu verwendet der Treiber das "Oracle Call Interface" (OCI 32Bit). Der Zugriff
wurde bisher mit den Oracle Versionen 8.x bis 12.x nachgewiesen. Die Benutzung
des OCI erfordert zwingend, dass auf dem Rechner auf dem InterAss ausgeführt
wird, der zur Datenbank passende Oracle Client (32Bit) installiert ist.
Hinweis: Zur Zeit wird Oracle 9i, 10g und höher unterstützt.
Hinweis: Wenn dies der Fall ist, findet man auf dem Rechner ein "Oracle"
Verzeichnis, z.B. "C:\oraclexe"
Qt 4.6.3: The Qt OCI plugin supports Oracle 9i, 10g and
higher. After connecting to the Oracle server, the plugin will auto-detect
the database version and enable features accordingly. It's possible to connect
to a Oracle database without a tnsnames.ora file. This requires that the
database SID is passed to the driver as the database name and that a hostname is
given.
OCI User Authentication: The Qt OCI plugin supports authentication using
external credentials (OCI_CRED_EXT). Usually, this means that the database
server will use the user authentication provided by the operating system instead
of its own authentication mechanism. Leave the username and password empty when
opening a connection with QSqlDatabase to use the external credentials
authentication.
Die Zugriffsmethode 'SID' wird nur unterstützt durch direkten Eintrag in
Windows Registry, Angabe über "Datei->Steuerdaten" oder über die Steuerdatei 'einstellungen_db.inf':
Der Zugriff ohne Verwendung von "tnsnames.ora" wird verwendet, wenn sowohl eine
Angabe für den Host als auch den Port gemacht wird.
Bitte beachten um SID zu verwenden muss der Port immer angegeben werden, auch
wenn Standart Port Nummer. Beispiel:
DB-Host = oralehost
DB-Port = 1521
Zur Zeit unterstützt InterAss interaktiv nur den Zugriff auf der Basis der Datei "tnsnames.ora"
(wenn DB-Port=0 oder undefiniert):
Entscheidend ist dann, dass in der Datei "tnsnames.ora" ( vollständiger
Dateiname für obiges Beispiel:
C:\oraclexe\app\oracle\product\10.2.0\server\NETWORK\ADMIN\tnsnames.ora ) ein Descriptor für die richtige
Oracle Datenbank vorhanden ist.
Beispiel für den Dateiinhalt:
XE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = radlach)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = XE)
)
)
HOST bezeichnet den Server auf dem die eigentliche Datenbank läuft und zwar
unter dem angegebenen Service Namen.
Damit InterAss in dieser Datenbank Daten ablegen kann, muss vom
Datenbankadministrator ein geeignetes Schema (User) angelegt werden. Die
Zugriffsrechte sollten mindestens das Eintragen und Löschen von Daten
zulassen. Sehr komfortabel wäre noch die Berechtigung zum Anlegen von Tabellen
und Datenspalten (dann kann InterAss im Falle eines Updates notwendige
Tabellenerweiterungen automatisch vornehmen). In unserem Beispiel lautet das
Schema "interass_db", das Kennwort ist "interass".
Damit Interass mit dieser Orcale Datenbank eine Verbindung aufbauen kann,
sind dann in InterAss ( Datei -> Eigenschaften -> Datenbank ) folgende angaben
zu machen (Die Angabe für Host kann entfallen, und wird nicht verwendet):