LIV. 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.
ORACLE_HOME
ORACLE_SID
LD_PRELOAD
LD_LIBRARY_PATH
NLS_LANG
ORA_NLS33
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
<?php
// by webmaster@remoterealty.com
$sth = OCIParse ( $dbh, "begin sp_newaddress( :address_id, '$firstname',
'$lastname', '$company', '$address1', '$address2', '$city', '$state',
'$postalcode', '$country', :error_code );end;" );
// This calls stored procedure sp_newaddress, with :address_id being an
// in/out variable and :error_code being an out variable.
// Then you do the binding:
OCIBindByName ( $sth, ":address_id", $addr_id, 10 );
OCIBindByName ( $sth, ":error_code", $errorcode, 10 );
OCIExecute ( $sth );
?>
|
|
- Inhaltsverzeichnis
- OCIDefineByName — Definiert eine PHP Variable als Platzhalter für die Werte eines SELECTs
- OCIBindByName — Bindet eine PHP-Variable an einen Oracle Platzhalter
- OCILogon — Baut eine OCI-Verbindung auf
- OCIPLogon — Logt sich persistent in die Oracle Datenbank ein und erzeugt eine
neue Oracle Session.
- OCINLogon — Logt sich in die Oracle Datenbank ein und erzeugt dabei eine neue
Oracle Session.
- OCILogOff — Schliesst eine Datenbankverbindung zu Oracle
- OCIExecute — führt ein Statement aus.
- OCICommit — Committet eine ausstehende Transaktion.
- OCIRollback — Macht ausstehende Transaktionen rückgängig
- OCINewDescriptor — Initialize a new empty descriptor LOB/FILE (LOB is default)
- OCIRowCount — Gibt die Anzahl der betroffenen Zeilen zurück
- OCINumCols — Gibt die Anzahl der Spalten in einem Statement zurück
- OCIResult — Gibt einen Spaltenwert für das gefetchte Statement zurück
- OCIFetch — Fetcht die nächste Ergebniszeile in den Ergebnispuffer
- OCIFetchInto — Fetches the next row into result-array
- OCIFetchStatement — Fetcht die Ergebnisse in ein Array
- OCIColumnIsNULL — Testet eine Spalte ob deren Inhalt NULL ist
- OCIColumnSize — Gibt die Grösse einer Spalte zurück
- OCIServerVersion — Return a string containing server version information.
- OCIStatementType — Gibt den Typ eine Statements zurück
- OCINewCursor — return a new cursor (Statement-Handle) - use this to bind ref-cursors!
- OCIFreeStatement — Gibt alle mit dem Statement verbundenen Ressourcen frei.
- OCIFreeCursor — Gibt alle mit dem cursor verbundenen Ressourcen frei.
- OCIColumnName — Liefert den Namen der Spalte zurück.
- OCIColumnType — Liefert den Datentyp einer Spalte zurück.
- OCIParse — Analysiert eine Abfrage und gibt eine Anweisung zurück.
- OCIError — Gibt den letzten Fehler von stmt|conn|global zurück oder false, wenn
kein Fehler aufgetreten ist.
- OCIInternalDebug — Aktiviert oder deaktiviert die interne Debugausgabe. Die Voreinstellung ist deaktiviert.