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










Inhaltsverzeichnis
ocibindbyname -- Bindet eine PHP-Variable an einen Oracle Platzhalter
ocicancel -- bricht das lesen von einem cursor ab
OCICollAppend -- Coming soon
ocicollassign -- Kommt noch.
ocicollassignelem -- Kommt noch.
ocicollgetelem -- Kommt noch.
ocicollmax -- Kommt noch.
ocicollsize -- Kommt noch.
ocicolltrim -- Kommt noch.
ocicolumnisnull -- Testet eine Spalte ob deren Inhalt NULL ist
ocicolumnname -- Liefert den Namen der Spalte zurück.
ocicolumnprecision -- Kommt noch.
ocicolumnscale -- Kommt noch.
ocicolumnsize -- Gibt die Grösse einer Spalte zurück
ocicolumntype -- Liefert den Datentyp einer Spalte zurück.
ocicolumntyperaw -- Kommt noch.
ocicommit -- Committet eine ausstehende Transaktion.
ocidefinebyname -- Definiert eine PHP Variable als Platzhalter für die Werte eines SELECTs
ocierror -- Gibt den letzten Fehler von stmt|conn|global zurück oder FALSE , wenn kein Fehler aufgetreten ist.
ociexecute -- führt ein Statement aus.
ocifetch -- Fetcht die nächste Ergebniszeile in den Ergebnispuffer
ocifetchinto -- Fetcht die nächste Zeile eines Ergebnisses in ein Array
ocifetchstatement -- Fetcht die Ergebnisse in ein Array
ocifreecollection -- Kommt noch.
ocifreecursor -- Gibt alle mit dem cursor verbundenen Ressourcen frei.
OCIFreeDesc -- Deletes a large object descriptor
ocifreestatement -- Gibt alle mit dem Statement verbundenen Ressourcen frei.
ociinternaldebug -- Aktiviert oder deaktiviert die interne Debugausgabe. Die Voreinstellung ist deaktiviert.
ociloadlob -- Kommt noch.
ocilogoff -- Schliesst eine Datenbankverbindung zu Oracle
ocilogon -- Baut eine OCI-Verbindung auf
ocinewcollection -- Kommt noch.
ocinewcursor -- return a new cursor (Statement-Handle) - use this to bind ref-cursors!
ocinewdescriptor -- Initialize a new empty descriptor LOB/FILE (LOB is default)
ocinlogon -- Logt sich in die Oracle Datenbank ein und erzeugt dabei eine neue Oracle Session.
ocinumcols -- Gibt die Anzahl der Spalten in einem Statement zurück
ociparse -- Analysiert eine Abfrage und gibt eine Anweisung zurück.
ociplogon -- Logt sich persistent in die Oracle Datenbank ein und erzeugt eine neue Oracle Session.
ociresult -- Gibt einen Spaltenwert für das gefetchte Statement zurück
ocirollback -- Macht ausstehende Transaktionen rückgängig
ocirowcount -- Gibt die Anzahl der betroffenen Zeilen zurück
ocisavelob -- Kommt noch.
ocisavelobfile -- Kommt noch.
ociserverversion -- Return a string containing server version information.
ocisetprefetch -- setzt die Anzahl der Zeilen die vorab gefetcht werden sollen
ocistatementtype -- Gibt den Typ eine Statements zurück
ociwritelobtofile -- Kommt noch.