Wie stelle ich eine Verbindung zu Oracle mit oci8 her?

Paula

Erfahrenes Mitglied
Hallo zusammen,

ich habe einen Solaris Rechner mit PHP 4.4.2 (CGI) und der Extensions oci8 installiert. Nun versuche ich über den Befehl ocilogon() eine Verbindung zu einer externen Oracle-Datenbank herzustellen.

Von dieser Datenbank habe ich folgende Daten zur Verfügung:
IP, DB-Name, Benutzer und Passwort.

PHP:
$db ="(DESCRIPTION =
     (ADDRESS =
         (PROTOCOL = TCP)
         (HOST = HOSTNAMEHERE)
         (PORT = 1521)
     )
   (CONNECT_DATA = (SID = SIDNAMEHERE))
  )";

$odbc = ocilogon ('user', 'pass', $db) or die( "Could not connect to Oracle database!") or die (ocierror());
Dieser Code befinde sich in den Kommenaren, aber so ganz werde ich daraus leider nicht schlau. Was muss ich eintragen, damit eine Verbindung zustande kommen kann?


Danke und Gruß
 
Folgendes musst du eingeben:

PHP:
$db_user = 'dein_db_user';
$db_pass = 'dein_db_pass';

$db = "(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.7.1.2) (PORT = 1521)))(CONNECT_DATA =(SID = db)))";
$connection = oci_connect('$db_user, '$db_pass, $db);

Du brauchst als noch die SID, ohne die geht es nicht und die hast du nicht aufgelistet. Ich verwende oci_connect, ocilogin ist aber identisch. Der Port 1521 ist der default Port, der könnte auch ander sein - also auch erfragen. Die IP 10.7.1.2 mit deinem Host ersetzen und dann geht es schon los mit der Verbindung.
 
Es ist immer plattformabhängig und so sieht es für Solaris korrekt aus:
PHP:
$db = "(DESCRIPTION =
           (ADDRESS = (PROTOCOL = TCP) (HOST = 10.211.163.202) (PORT = 1521)) 
         (CONNECT_DATA = 
           (SID = vd2tms)
           (SERVER = DEDICATED)
         )
       )";
$conn = ocilogon( 'gui', 'gui', $db ) or die( 'blaaaa' );

$foo = ociserverversion( $conn );
echo $foo;
Also zu deinem Tipp muss man ADDRESS LIST entfernen.
 
Zuletzt bearbeitet:
Zurück