LXXI. Oracle 8 Funktionen
Diese
Funktionen
gestatten
den
Zugriff
auf
Oracle7
und
Oracle8
Datenbanken
.
Es
wird
hierbei
das
Oracle8
Call-Interface
(
OCI8
)
verwendet
,
welches
installierte
Oracle8
Client
Bibliotheken
(Libraries
)
benötigt
.
Diese
Schnittstelle
ist
flexibler
als
die
Standard
Oracle
Funktionen
.
Es
unterstützt
Binding
von
localen
und
globalen
PHP
Variablen
an
Oracle
Platzhalter
und
hat
volle
LOB,FILE
und
ROWID
Unterstützung
und
gestattet
dem
Benutzer
die
Verwendung
von
Variablendefines
.
Vor
der
Benutzung
dieser
Erweiterung
sollten
Sie
sicherstellen
die
folgenden
Umgebungsvariablen
für
den
Webserveruser
VOR
dem
Start
des
Webservers
gesetzt
zu
haben
.
Nachdem
Sie
die
Umgebungsvariablen
festgelegt
haben
,
stellen
Sie
sicher
,
das
die
Dateien
im
ORACLE_HOME
/
network
/
admin
für
den
Webserver
lesbar
sind
.
Wenn
der
Webserver
abstürzt
nach
dem
Start
,
oder
nicht
startet
:
Überprüfen
Sie
,
ob
der
Apache
gegen
-lpthread
gelink
ist
:
Wenn
libpthread
hier
nicht
gelistet
ist
,
dann
muss
der
Webserver
neu
übersetzt
werden
:
Beispiel
1
.
OCI
Hinweise
?php
/
/
by
sergo@bacup.ru
/
/
Die
Option
OCI_DEFAULT
führt
die
Anweisung
in
einer
Transaktion
aus
OCIExecute(
$stmt
,
OCI_DEFAULT)
;
/
/
for
retrieve
data
use
(after
fetch)
:
$result
=
OCIResult($stmt
,
$n)
;
if
(is_object
($result)
)
$result
=
$result
-
load()
;
/
/
For
INSERT
or
UPDATE
statement
use
:
$sql
=
"insert
into
table
(field1
,
field2
)
values
(field1
=
'value'
,
field2
=
empty_clob()
)
returning
field2
into
:field2"
;
OCIParse($conn
,
$sql)
;
$clob
=
OCINewDescriptor($conn
,
OCI_D_LOB)
;
OCIBindByName
($stmt
,
":field2"
,
$clob
,
-1
,
OCI_B_CLOB)
;
OCIExecute($stmt
,
OCI_DEFAULT)
;
$clob
-
save
("some
text")
;
OCICommit($conn)
;
?
|
|
Man
kann
auf
Stored
Procedures
auf
einfache
Weise
zugreifen
.
Beispiel
2
.
Stored
Procedures
benutzen
|