Hallo Liste!
Hat von euch mal jemand Oracle 9i+ php zum laufen gebracht?
Habe php-4.2.2 erfolgreich kompiliert, mit '--with-oci8', aber beim OCILogon
gibt es ein hübsches segmentation fault. Das selbe auch mit älteren
php-Versionen. Mit Oracle 8i funktioniert es hingegen. Laut Recherchen im
Netz sollte eine Abwärtskompatibiltät gewährleistet sein.
Habe php-4.2.2 erfolgreich kompiliert, mit '--with-oci8', aber beim OCILogon
gibt es ein hübsches segmentation fault. Das selbe auch mit älteren
php-Versionen. Mit Oracle 8i funktioniert es hingegen. Laut Recherchen im
Netz sollte eine Abwärtskompatibiltät gewährleistet sein.
Oracle 9 ist nach meinen eigenen Erfahrungen *nicht* abwaertskompatibel
zu Oracle 8 Treibern.
Dies gilt zumindest fuer den JDBC-thin Treiber (Java) und den Treiber der
noetig ist um SQLPlus auszufuehren (OCI??).
Ersterer bricht mit einem internen Fehler ab, zweiterer tut so als saehe
er den Server nicht.
Jetzt werden wir versuchen das ganze nochmals auf 9.0.2 zu starten, vorher
war's 9.0.1. Habe dazu eine Anleitung gefunden von jemanden der das
hingekriegt hat, aber leider ist unser Oracle-Mann im Urlaub wie es sich
gehört in dieser Zeit.
> Seit ihr auch sicher dass nicht vielleicht nur ein
> emulation/compatibility mode zu aktivieren ist?
>
> Habe aber persönlich keine Erfahrungen, daher ist dies nur ein Annahme.
Jetzt werden wir versuchen das ganze nochmals auf 9.0.2 zu starten, vorher
war's 9.0.1. Habe dazu eine Anleitung gefunden von jemanden der das
hingekriegt hat, aber leider ist unser Oracle-Mann im Urlaub wie es sich
gehört in dieser Zeit.
Unsere Oracle Frau leider auch
Hab' nochmals die Versionen gecheckt: der JDBC-thin Treiber v. 8.1.7.0.0
stuerzt klaeglich ab wenn man sich mit Oracle 9.2.0.1.0 verbindet.
Also zumindest bei der Kombination gibt es ein 8/9 Problem. Ich weiss
freilich nicht ob dies fuer alle Treiber gilt und auch nicht ob es
so etwas wie einen "Kombatibilaetsmodus" gibt.
NB: umgekehrt (JDBC 9.2 -> Server 8.1) geht's prima.
Wenn ihr was rausfindet, lasst es die Liste wissen!
Ist es möglich, dass Oracle keine Unterstützung für PHP anbietet? Denke
für Java liefern sie einen JDBC Treiber mit odor Chrism, benutzt du
einen "third party" Treiber?
Andy ihr habt sicher ein Oracle Support Programm aboniert, gibts da
keine Hilfestellung?
In dem Projekt, an dem Peter (Warasin) gerade arbeitet (das
Shop-Projekt, von dem ich Euch mal erzählt habe), wird php4 mit oracle
9i eingesetzt und funktioniert auch prima. Er kann sicher näheres dazu
schreiben ;-)))
Ist es möglich, dass Oracle keine Unterstützung für PHP anbietet
Indirekt schon. Oracle hat ja die c-lib (ich glaub das ist OCI, man
korrigiere mich ggf) auf der wird der PHP Treiber (von php) wohl
aufsetzen. PHP hat ja seine eigenen Treiber, die gegen die jeweilige
c-lib kompiliert werden.
Ich vermute weiterhin ein 8/9 Kompatibilitaetsproblem. Andi, hast du
die 9er client (c-libraries) installiert, bevor Du PHP kompiliert
hast, oder?
Denke
für Java liefern sie einen JDBC Treiber mit odor Chrism, benutzt du
einen "third party" Treiber?
Php greift via OCI8 auf Oracle zu. Libs sind alle installiert, sonst könnte
ich ja auch nicht kompilieren/linken.
Ich verstehe nicht warum, aber es funkoniert jetzt. Es gibt im Falle noch
einen Kompatibilitätsmodus, einstellbar in der Datei ini.ora. Weiss aber
nicht, in wie weit sich dieser PArameter auswirkt.
Und jetzt das nächste Problem:
Wenn ich eine insert Query wie zb:
"insert into tablename (SESS_ID, TYPE, DESCRIPTION) values ('weqw',
'weqw', 'weqw')"
ausführe, schimpft er immer:
"missing SELECT keyword". Gebe ich eine select-Anweisung an, dann passt es.
Interessant ist weiters, dass ich auch syntaktische Fehler hinter der
insert-Anweisung einbauen kann (z.B. falscher Table-Name) ohne dass er es
merkt. Ich habe so den Eindruck, dass er die Query gar nicht fertig parst,
wenn sie nicht mit 'select' beginnt.
Und jetzt das nächste Problem:
Wenn ich eine insert Query wie zb:
"insert into tablename (SESS_ID, TYPE, DESCRIPTION) values ('weqw',
'weqw', 'weqw')"
ausführe, schimpft er immer:
"missing SELECT keyword". Gebe ich eine select-Anweisung an, dann passt es.
Interessant ist weiters, dass ich auch syntaktische Fehler hinter der
insert-Anweisung einbauen kann (z.B. falscher Table-Name) ohne dass er es
merkt. Ich habe so den Eindruck, dass er die Query gar nicht fertig parst,
wenn sie nicht mit 'select' beginnt.
Hmm... muss ein PHPler beantowrten (nicht ich), habe aber den
Eindruck, dass es mit der Art deines Statements zu tun haben koennte.
Vielleicht macht es einen Unterschied ob es einen lese oder eine Schreib
Operation ist?
Waere also kein Treiber Problem.
Hmm... muss ein PHPler beantowrten (nicht ich), habe aber den
Eindruck, dass es mit der Art deines Statements zu tun haben koennte.
Vielleicht macht es einen Unterschied ob es einen lese oder eine Schreib
Operation ist?
Waere also kein Treiber Problem.
Schätze Chrism hat recht, bei JDBC gibt es für lesende Operationen die
Methode "executeQuery" und für ändernde "executeUpdate". Das sind
nämlich zwei getrennte Arten von Operationen. Glaube die Gruppe der
update Operationen wird auch DML (Data Manipulation Language) genannt.
Weiters spricht man auch von DDL (Data Definition Language), wenn man
Strukturen ändert.
ok, ich werd schauen, das Dumme ist nur das der Code des Datenbankzugriffs aus
einem von mir für Oracle8i geschriebenen funktionierenden Projekt entnommen
ist . . .
Aber vielleicht ist auch etwas mit dem Login faul, kann es aber leider nicht
überprüfen da niemand da ist.
Hast du keine Anwendung über die du einfach SQL-Statements an die
Datenbank schicken kannst. Wenns dort funktioniert, unter dem selben
Benutzer, dann liegt das Problem nicht beim Login
Gibts nicht so was wie ein osql Kommando, analog zu isql (Firebird),
pgsql (Postgresql) oder mysql (mysql)?
habe ich bereits, nur dass ich leider nicht alle Umgebungsvariablen habe (die
ORACLE_SID fehlt mir bsp.-weise)und alle in Urlaub sind. Bekomme immer ein
access denied. Verwende hierbei
./sqlplus suername/passwd(a)connectstring
Werde das am Mo schon hinkriegen wenn jemand da ist . . .
Kein Prob . . .
das Oracle PRoblem bin ich los! Man hat mir nicht eine Tabelle wie angefordert
gegeben(andere Spaltennamen) und die Fehlermeldung war nicht gerade
aufschlussreich .. .