fehlertext bei verbindung zu oracle

abbuzze

Grünschnabel
hallo zusammen,

ich habe ein problem beim zugriff auf die oracle datenbank.

zur php-konfiguration:
version 4.3.3
in der php info wird unter "configure command"
--with-oci8' '--with-oracle' angezeigt

der oci8-support und der oracle-support ist "enabled"

die "Compile-time ORACLE_HOME " ist gesetzt

die extension_dir in der php.ini müsste auch stimmen, da sonst der zugriff auf die mysql-datenbank und die gd-funktionen ja auch nicht funktionieren würden.


zum testen nutze ich folgendes kleines script:

<?php
if ($c=OCILogon("benutzername", "passwort", "ip-adresse mit freigeschaltetem port")) {
echo "Successfully connected to Oracle.\n";
OCILogoff($c);
} else {
$err = OCIError();
echo "Oracle Connect Error " . $err[text];
}

doch leider bekomme ich immer folgende fehlermeldung zurück:

Warning: ocilogon(): _oci_open_server: Error while trying to retrieve text for error ORA-06401 in "hier steht der pfad der testdatei" on line 2
Oracle Connect Error
?>

wer kann mir helfen, bzw was kann ich noch überprüfen?

vielen dank im voraus!

gruß
heiko
 
Hi,
beim Aufrufen der Funktion OCILogon
PHP:
OCILogon("benutzername", "passwort", "ip-adresse mit freigeschaltetem port")
sollte der 3. Parameter nicht "ip-adresse mit freigeschaltetem port", sondern die TNS zur Datenbank sein. Konfiguriert werden die in der tnsnames.ora im Verzeichnis {ORA_HOME}/network/admin/.

Ob das Dein Problem löst, kann ich allerdings nicht sagen.

mfg, snuu
 
vielen dank für den hinweis. ich war danach auch recht "emsig". aber leider ohne erfolg (und ich werd auch bald wahnsinnig) ;-)

die tnsnames.ora sieht folgendermaßen aus:

name1 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = xxx.xx.xxx.xx)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = servicename1)
)
)

name2 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = xxx.xx.xxx.xx)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = SHARED)
(SERVICE_NAME = servicename2)
(PRESENTATION = http://admin)
)
)

ich habe schon ALLE möglichkeiten ausprobiert, bekomme aber immer den ora-fehler 12154, der mir ja sagt, dass der tns-name nicht korrekt ist.

des weiteren habe ich noch einen sit-namen von unserem netzwerk-admin bekommen, der angeblich gleich dem tns-namen sein soll -> stimmt das?

bitte um hilfe!
...und danke im voraus

gruß
heiko
 
Hi,
der TNS -String ist bei Dir lautet name1 für die Datenbank1 und name2 für Eure Datenbank 2 je nach dem welche Du benutzt, mußt Du den TNS-String beim login eintragen also für die DB1 wäre das:
PHP:
OCILogon("benutzername", "passwort", "name1")

Cu Major
 
...jetzt ist mit noch was anderes aufgefallen:

in der php-info ist der oci-8-wert "compile-time oracle_home":
/opt/oracle/product/8.1.7

unter diesem pfad liegt jedoch nicht die tnsnames.ora

meine frage: müsste der o.g. pfad nicht direkt auf die tnsnames.ora gehen?

wenn "ja", wäre mein problem vielleicht endlich erledigt. ;-)

gruß
heiko
 
Zurück