Mailinglisten-Archive |
> In der Manual zu den Oracle 8 Funktionen (OCI8) steht das ich die folgenden
> Umgebungsvariablen setzen muss:
>
> ORACLE_HOME, ORACLE_SID, LD_PRELOAD, LD_LIBRARY_PATH, NLS_LANG, ORA_NLS33
>
> Aber was muss jetzt genau wohin?
Unter W2K musst Du die Variablen nicht setzen. Das ist schon alles erledigt.
Ich hatte da noch keine Probleme mit.
>
> Bisher habe ich die Variablen mit der Funktion putenv() gesetzt. Sie werden
> in der phpinfo() auch angezeigt! Nur eine VerbindungsID erhalte ich noch
> nicht...
Die VerbindungsID bekommst Du mit:
// Oracle OCI8
$cid = ociplogon ($User, $Password, $Host); // für persistente Verbindungen
Das sind die 3 Werte die Du auch im SQLPlus eingibst.
Unter Angabe der $cid kannst Du dann loslegen ...
// Select
$abf=ociparse($cid, $query);
if($abf==false) {
print "Fehler in SQL-Befehl: ".$query." <br>";
print "Oracle Meldung: ".OCIError($abf);
exit;
}
$result = ociexecute($abf);
if($result==false) {
print "Fehler beim Ausführen von ".$query." <br>";
print "Oracle Meldung: ".OCIError($abf);
exit;
}
while (ocifetch($abf)) {
$ncols = ocinumcols($abf);
if($ncols==false) {
print "Fehler beim Ausführen von ".$query." <br>";
print "Oracle Meldung: ".OCIError($abf);
print $ncols;
exit;
}
for ($i = 1; $i <= $ncols; $i++) {
$qr[$zeile]["f".$i] = trim(ociresult($abf, $i));
}
$zeile++;
}
ocifreestatement($abf);
// Insert
$abf=ociparse($cid, $query);
if($abf==false) {
print "Fehler in SQL-Befehl: ".$query." <br>";
print "Oracle Meldung: ".OCIError($abf);
exit;
}
$result = ociexecute($abf);
if($result==false) {
print "Fehler beim Ausführen von ".$query."<br>";
print "Oracle Meldung: ".OCIError($abf);
exit;
}
ocifreestatement($abf);
Viel Erfolg und Spass
Gruss Ron
php::bar PHP Wiki - Listenarchive