ich versuche, über PHP unter Linux auf eine Oracle-Datenbank
zuzugreifen. Den Instant Client, den man dazu benötigt, habe ich bereits
installiert, er scheint auch zu funktionieren - da er Fehlermeldungen
ausgibt. Das OCI8-Paket in PHP ist ebenfalls aktiviert, wird auch in der
phpinfo angezeigt.
Allerdings weiß ich nicht, wie genau der Verbindungsstring aussehen
soll. Das scheint der Grund zu sein, weshalb keine Verbindung zur
Datenbank zustande kommt.
Ich habe folgende Angaben: Username, Passwort, Datenbankname, Server-IP
und eine Port-Nummer.
Mein Code sieht momentan folgendermaßen aus:
...
$connection = oci_connect("username", "passwort", "username@//ip:port/ORCL")
...
Sind diese Angaben so richtig eingesetzt? Es wirft eine Fehlermeldung
(die ich leider nicht mehr im Kopf habe, ich glaube, es war ORA-12154)
und einige Ergebnisse einer Google-Suche nach der Fehlernummer erwähnen
eine Datei namens TNSNAMES.ORA. Allerdings wird nicht ganz deutlich, ob
diese Datei vorhanden sein MUSS. Ist das der Fall? Und ist der
Verbindungsstring richtig zusammengestellt?
Vielen Dank im Voraus,
Dennis Schramm
D. Schramm wrote:
> ...
> $connection = oci_connect("username", "passwort",
> "username@//ip:port/ORCL")
> ...
>
> Sind diese Angaben so richtig eingesetzt? Es wirft eine Fehlermeldung
> (die ich leider nicht mehr im Kopf habe, ich glaube, es war ORA-12154)
> und einige Ergebnisse einer Google-Suche nach der Fehlernummer erwähnen
> eine Datei namens TNSNAMES.ORA. Allerdings wird nicht ganz deutlich, ob
> diese Datei vorhanden sein MUSS. Ist das der Fall? Und ist der
> Verbindungsstring richtig zusammengestellt?
Die tnsnames.ora Datei hat eine ähnlich eFunktion wie die hosts Datei,
es werden die SIDs den Verbindungsinformationen zugeordnet. Wenn du
direkt ip und port angibst sollte sie nicht notwendig sein.
Versuch den String mal ohne das username@, das ORCL sollte dein
Instanzname sein.
lg. jakob
--
jakob kollmann www.filofant.org
Minds are like parachutes: they only function when they're open.
(Tommy Dewar, 1864 - 1930)