Für den Download des Oracle Instant Clients auf Herstellerseite benötigen Sie einen kostenlosen Account. Geben Sie die notwendigen Daten ein und bestätigen Sie Ihre E-Mail-Adresse zur Verifizierung.
Als Download Paket wählen Sie bitte das Basic Package instantclient-basic-windows.x64-12.2.0.1.0.zip aus.
Bitte beachten Sie: Für die korrekte Installation des Oracle Instant Clients wird eine Visual Studio Redistributable benötigt.
Der Instant Client 12.2 benötigt die Visual Studio 2013 Redistributable. Instant Client 12.1 benötigt die Visual Studio 2010 Redistributable.
1.Laden Sie die entsprechenden Instant Client-Pakete für Ihre Plattform herunter. Alle Installationen benötigen das Paket Basic oder Basic Light.
2.Entpacken Sie die Pakete in ein einzelnes Verzeichnis wie C:\oracle\instantclient_12_2.
3.Öffnen Sie den Informationsdienste (IIS) –Manager. Auf der obersten Serverebene auf FastCGI-Einstellungen klicken. Rechts oben auf Bearbeiten… klicken. Im Bereich Allgemein bei Umgebungsvariablen rechts auf die drei Punkte klicken.
Fügen Sie folgende Umgebungsvariablen hinzu:
Name : PATH
Value : Pfad zum InstantClient (z.B.: C:\instantclient_12_2)
Name : TNS_ADMIN
Value : Pfad zum InstantClient bzw. zur tnsnames.ora Datei (z.B.: C:\instantclient_12_2)
Name : NLS_LANG
Value : GERMAN_GERMANY.UTF8
Starten Sie danach bitte den Webserver (IIS) neu.
4.Kopieren Sie die Oracle tnsnames.ora Datei (Oracle Server Verbindungsdaten Datei) aus dem Oracle Installationsverzeichnis in das Instant Client-Verzeichnis.(Beispiel C:\instantclient_12_2).
Beispiel-Inhalt:
myoraconn = (
DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST=hostname)(PORT=1521))
(CONNECT_DATA=(SERVER=dedicated)(SID=myorainstance))
)
5.Damit der Dienst mit Oracle kommunizieren kann, sollte in der JobRouter Dienstekonfiguration der komplette Verbindungsstring aus der tnsnames.ora Datei im Feld Hostname eingetragen werden.
6.Öffnen Sie die Datei php.ini mit einem Editor und aktivieren Sie die Extension php_oci8_12c.dll (Standardmäßig ist diese auskommentiert).
extension=php_oci8_12c.dll
7.Setzen Sie bitte noch zusätzlich folgende Windows Systemumgebungsvariablen:
(Systemsteuerung-> System-> Erweitert-> Umgebungsvariablen)
Name: ORACLE_HOME
Value: Pfad zu InstantClient (z.B.: C:\instantclient_12_2)
Name: TNS_ADMIN
Value: Pfad zu InstantClient bzw. zur tnsnames.ora Datei (z.B.: C:\instantclient_12_2)
Bitte beachten Sie: Falls es Verbindungsprobleme geben sollte, fügen Sie bitte noch zusätzlich die Windows-Umgebungsvariable NLS_LANG mit dem Wert GERMAN_GERMANY.UTF8 hinzu.
Anschließend sollte ein Server Neustart erfolgen.
Typische Fehlermeldungen
ORA-12537: TNS: connection closed
ORA-12537: TNS: connection closed Die falsche SID ist angegeben oder der Oracle-Server erlaubt keine Verbindungen vom Client / JobRouter-Server (IP-Adressen-Beschränkung). Über andere Tools (SQL Plus bzw. SQL Developer) kann in dem Fall auch keine Verbindung hergestellt werden.
Lösung:
Mit dem Setzen der Umgebungsvariable NLS_LANG kann die Regionseinstellung des Oracle-Clients angepasst werden. Diese sollte mit der serverseitigen Variable übereinstimmen (SELECT * FROM nls_database_parameters WHERE parameter = 'NLS_CHARACTERSET';).
Beispiele:
NLS_LANG=GERMAN_GERMANY.WE8MSWIN1252 für Datenbankverbindungen ohne Unicode
NLS_LANG=GERMAN_GERMANY.UTF8 für Datenbankverbindungen mit Unicode
NLS_LANG=GERMAN_GERMANY.AL32UTF8 für Datenbankverbindungen mit Unicode inclusive emojis
Unterschied zwischen UTF8 und AL32UTF8 siehe https://community.oracle.com/thread/3514820
NLS_LENGTH_SEMANTICS
NLS_LENGTH_SEMANTICS. {„exception“:„_doConnect: [Error message: unable to establish a connection]\n[Native code: 12154]\n[Native message: ORA-12154: TNS:could not resolve the connect identifier specified]\n“} []
Lösung:
Der Connection String in der config.php Datei wurde wieder auf den DB-Hostnamen geändert.
ODBC
Für ODBC Nutzer beachten Sie bitte diese Informationen auf der Oracle Webseite.
https://www.oracle.com/database/technologies/releasenote-odbc-ic.html