Herstellen einer Verbindung zu Oracle Server (FireDAC)
Nach oben zu Datenbankkonnektivität (FireDAC)
In diesem Thema wird beschrieben, wie eine Verbindung zu Oracle Server hergestellt wird.
Inhaltsverzeichnis
Unterstützte Versionen
Der native FireDAC-Treiber unterstützt die Servereditionen Oracle Enterprise, Standard (ehemals Workgroup) und Express (ehemals Personal) Version 8.0.3 und höher. Eine detaillierte Beschreibung der Verwendung von Oracle in FireDAC für Delphi-Anwendungen finden Sie im Kapitel Verwenden von Oracle mit FireDAC.
Windows-Client-Software
Für FireDAC muss einer der folgenden x86- oder x64-Client-Softwaretypen von Oracle auf dem Arbeitsplatz-Computer installiert sein:
- "Fat" Oracle-Client (Details) – Erfordert die Standardinstallation. Der Treiber verwendet den Client, der im primären Standardinstallationsverzeichnis (Oracle Home) installiert ist, falls nichts anderes angegeben ist.
- "Thin" Oracle Instant Client (Details) – Der Treiber verwendet den Client, der entweder in einen in PATH angegebenen Ordner oder in den Anwendungs-EXE-Ordner kopiert wurde, falls nichts anderes angegeben ist. Siehe "Verwenden von Instant Client" weiter unten.
Wenn die Oracle-Client-Software nicht ordnungsgemäß installiert wurde, wird beim Verbindungsversuch eine Exception ausgelöst:
[FireDAC][Phys][Ora]-1309. OCI is not properly installed on this machine (NOE1/INIT)
Verwenden von Instant Client
Um Instant Client zu installieren, laden Sie das Oracle Instant-x86- oder x64-Clientarchiv herunter, entpacken es und kopieren:
- oci.dll
- oraocci11.dll
- oraociei11.dll
- orasql11.dll
in Ihren Anwendungs-EXE-Ordner oder in einen in PATH angegebenen Ordner.
Wenn Sie TNS-Namen verwenden, speichern Sie die Datei tnsnames.ora im selben Ordner, oder setzen Sie die Eigenschaft TFDPhysOracleDriverLink.TNSAdmin auf einen Pfad zu einem Ordner, in dem tnsnames.ora enthalten ist, oder verwenden Sie den Treiberkonfigurationsparameter TNSAdmin.
Setzen Sie TFDPhysOracleDriverLink.NLSLang auf den erforderlichen Wert, oder verwenden Sie den Treiberkonfigurationsparameter NLSLang.
Linux-Client-Software
FireDAC benötigt:
- die x86- oder x64-Client-Bibliothek libclntsh.so.
In diesem Artikel finden Sie Installationshinweise.
Mac OS X-Client-Software
FireDAC benötigt:
- die x86-Client-Bibliothek libclntsh.dylib.
Sie können sie als Instant Client für Mac OS X (hier) herunterladen (Weitere Informationen). Extrahieren Sie den Inhalt, und kopieren Sie ihn mit den folgenden Befehlen in den Ordner "/usr/local/lib":
sudo cp * /usr/local/lib sudo ln -s /usr/local/lib/libclntsh.dylib.10.1 /usr/local/lib/libclntsh.dylib
Sie können tnsnames.ora und sqlnet.ora mit dem folgenden Befehl in den Ordner "/etc" kopieren:
sudo cp *.ora /etc
Treibereinbindung
So binden Sie den Treiber ein:
- Ziehen Sie aus der Paletten-Seite "FireDAC Links" eine TFDPhysOracleDriverLink-Komponente auf das Formular.
- Oder nehmen Sie die Unit FireDAC.Phys.Oracle in eine uses-Klausel auf.
Verbindungsdefinitionsparameter
Für eine Verbindung mit einem Oracle-DBMS ist für die meisten Anwendungen die Angabe von DriverID, Database, User_Name und Password erforderlich.
DriverID=Ora
| Parameter | Beschreibung | Beispielwert |
|---|---|---|
| Database | Der Wert kann Folgendes sein:
|
|
| OSAuthent | Geben Sie Yes für die OS-Authentifizierung und No für die DBMS-Authentifizierung an. | No |
| User_Name | Der Oracle-Benutzername, wenn "OSAuthent=No". | Scott |
| Password | Das Oracle-Passwort, wenn "OSAuthent=No". | tiger |
| AuthMode | Der Oracle-Authentifizierungsmodus:
|
Normal |
| CharacterSet | Der Zeichensatz für die Verbindung. Wird diese Angabe weggelassen, wird der Wert der Variable NLS_LANG verwendet. |
|
| BooleanFormat | Definiert, wie boolesche Werte dargestellt werden sollen:
|
String |
| ApplicationName | Name der Anwendung. Wenn angegeben, wird dieser Wert in der V$SESSION-Spalte MODULE gespeichert. | AllBooks |
| OracleAdvanced | Zusätzliche Oracle-Sitzungsoptionen. Einzelheiten dazu finden Sie in der Oracle-Dokumentation im Abschnitt "Initialization Parameters and ALTER SESSION" des KapitelsALTER SESSION SET. Ein Wertformat ist – <Option>=<Wert>[;...]. | |
| NewPassword | Gibt das neue Oracle-Benutzerpasswort an. FireDAC stellt eine Verbindung zu der DB mit dem alten Passwort her und ändert es sofort in das neue. | tiger2 |
| MetaDefSchema | Gibt das Standardschema für die Anwendung an. Im Entwurfszeitcode wird der Schemaname im Objektnamen weggelassen, wenn er MetaDefSchema entspricht. | SCOTT |
Anwendungsfälle
- Herstellen einer Verbindung zu einer Datenbank mit dem vordefinierten TNS-Namen (in tnsnames.ora gespeichert):
DriverID=Ora Database=ORA_920_APP User_Name=ADDemo Password=a
- Herstellen einer Verbindung zu einer Datenbank mit Host-, Port- und Instanznamen-Infos:
DriverID=Ora Database=(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = OraSrv)(PORT = 1521))) (CONNECT_DATA = (SERVER = DEDICATED)(SERVICE_NAME = orcl))) User_Name=ADDemo Password=a
- Herstellen einer Verbindung zu einer lokalen Datenbank als sysdba:
DriverID=Ora User_Name=sys AuthMode=sysdba
- Herstellen einer Verbindung zu einer Datenbank mit dem TNS-Namen und Ändern des Passworts:
DriverID=Ora Database=ORA_920_APP User_Name=ADDemo Password=a NewPassword=b
- Herstellen einer Verbindung zu einer Datenbank mit dem String für eine einfache Verbindung:
DriverID=Ora Database=OraSrv:1521/orcl User_Name=ADDemo Password=a