2 Stimmen

PHP kann sich nicht verbinden, aber SqlPlus schon

Hier ist ein Problem, das meine Zellen im Moment verwirrt.

Es gibt einen Oracle-Server, mit dem ich eine Verbindung herstellen möchte. Mit der Befehlszeile von Sqlplus kann ich mich leicht mit ihm verbinden.

Wenn ich jedoch versuche, mit PHP eine Verbindung zur Oracle-Datenbank herzustellen, schlägt dies fehl. Der Haken an der Sache ist, dass wir die gleiche Konfiguration in einem anderen Rechenzentrum haben; ein PHP-Rechner versucht, eine Verbindung zu einer Oracle-Datenbank herzustellen. Ich habe den exakt gleichen Code ausgeführt und PHP auf beiden Rechnern identisch konfiguriert.

PHP1 kann eine Verbindung zu Oracle1 sowohl mit sqlplus als auch über php herstellen.

PHP2 verbindet sich mit Oracle2 mit sqlplus, aber NICHT mit PHP.

Es gibt Firewalls und einige Ports, die blockiert werden. Meine derzeitige Erklärung ist, dass der Port, den php2 für die Verbindung zu oracle2 verwendet, nicht der Standardport 1521 ist und blockiert wird.

Der ora-Fehler, den ich erhalte, lautet :

ORA-06413 : Verbindung nicht geöffnet.

Irgendwelche Ideen?

1voto

Blair Punkte 3705

Die Fehlermeldung zeigt an, dass der TNS-Verbindungsdeskriptor aus irgendeinem Grund nicht geparst werden kann. In der Regel handelt es sich um ein Problem mit einem Systemaufruf von Oracle, wenn es versucht, Verbindungsinformationen zu erstellen.

Gibt es irgendwelche Klammern in Ihrem Programmnamen, Benutzernamen oder Rechnernamen?

Führen Sie zufällig einen 32-Bit-Oracle-Client unter einem 64-Bit-Windows-Betriebssystem aus?

Versuchen Sie, das Dienstprogramm tnsping über die Befehlszeile zu verwenden. Was sagt Ihnen das?

0voto

webbiedave Punkte 47260

Anhand der bereitgestellten Informationen vermute ich, dass entweder der Datenbankname, der Benutzername oder das Kennwort, die vom Problemcomputer gesendet werden, eine Escape-Sequenz ( $ , \t , \a , \r usw.), die bei der Eingabe in Ihr PHP-Skript als Stringliteral geändert werden.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X