WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   PHP connect ORACLE (http://www.wcm.at/forum/showthread.php?t=72788)

weev 08.10.2002 14:45

PHP connect ORACLE
 
hi forum,
ich möchte von meinen webserver(php) eine oracle-db connecten und abfragen senden. leider funktioniert's aber ned. ich hab schon ora_logon() und OCILogOn() versucht schaff es aber nicht. hmmm möglicherweise liegt es auch an meinen spärlichen oracle kenntnissen? kann mir ja da wer weiterhefen......wie lautet der richtige syntax?

thx weev

käptn 08.10.2002 14:49

Vielleicht hilft das:

$dbHandle = OCILogon($user, $password, $dblink);

OCIRollback($dbHandle);

$stmt = OCIParse($dbHandle, $Insert1);
OCIEecute($stmt, OCI_DEFAULT);
OCIFreeStatement($stmt);

$stmt = OCIParse($dbHandle, $Insert2);
OCIExecute($stmt, OCI_DEFAULT);
OCIFreeStatement($stmt);


~

weev 08.10.2002 15:20

hi und thx für die rasche antwort,
ich versteh aber nicht wie du das mit der variable $insert1 & 2 meinst ich denk mal das ist das sqlstatement aber warum 2x? frage2: kann der datenbanklink ($dblink) auch eine ip-adresse sein, oder brauch ich das file "tnsnames.ora" am webserver?...fagen über fragen....

lg -weev

käptn 08.10.2002 15:54

Ehrlich gesagt k.A. :D

Das hab ich aus 'ner ML

Aber ich denke, er hatte einfach zwei (vielleicht sogar unabhäbngige) SQL-Queries und machte nach jeder Query den Speicher wieder frei....

Hier die ganze Mail:

----->
Ich habe folgenden code in vereinfachter form

$dbHandle = OCILogon($user, $password, $dblink);

OCIRollback($dbHandle);

$stmt = OCIParse($dbHandle, $Insert1);
OCIEecute($stmt, OCI_DEFAULT);
OCIFreeStatement($stmt);

$stmt = OCIParse($dbHandle, $Insert2);
OCIEecute($stmt, OCI_DEFAULT);
OCIFreeStatement($stmt);

-- in einem Funktionsaufruf
OCILogoff($dbHandle);

$OCICommit($dbHandle);
$OCILogoff($dbHandle);

Das erste logoff ist natürlich falsch (design fehler).
Ich habe aber sehr lange gebraucht den Fehler zu finden,
da es so ausschaut als ob mit logoff immer ein commit
gemacht wird und nicht ein rollback wie zu erwarten.
Hat jemand ein ähnliches Verhalten auch schon
beobachtet?
<-----

~

weev 08.10.2002 16:31

hmm, also langsam denk ich das da was mit der php-apache bindung nicht funktioniert, bzw mir die oci-funktionen fehlen.

mein php-modul:
mod_php4-4.1.0-104

meine fehlermeldung:
Fatal error: Call to undefined function: ocilogon() in /usr/local/httpd/htdocs/oracle/php/result.php on line 5

line5 ist:
$dbHandle = OCILogon($user, $password, $dblink)


???weev

käptn 08.10.2002 17:08

Linux oder Win?


Ist in der PHP.INI unter Dynamic Extensions
folgender Eintrag auskommentiert?

extension=php_oci8.[dll|so]

Hast du PHP entsprechend kompiliert?

~

weev 09.10.2002 07:43

re, LAMP-Architektur mit php4.4.1.0 modul, hab gerade nachgeschaut oracle einträge hab ich nicht in meiner ini. hmmmmmmmm


Alle Zeitangaben in WEZ +2. Es ist jetzt 08:24 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag