Oracle 8 的函式介紹(轉)

post0發表於2007-08-10
Oracle 8 的函式介紹(轉)[@more@]

這些函式允許你存取 Oracle8 和 Oracle7 資料庫. 他使用 Oracle8 的點用介面 (OCI8). 使用這個擴充套件模組,你需要 Oracle8 客戶端庫檔案.

這個擴充套件模組比標準 Oracle 模組更流暢。他支援用於 Oracle 站位符的全域性和本機 PHP 變數。有完整的 LOB, 檔案和 ROWID 支援,允許使用使用者提供的定義的變數.

在使用這個擴充套件之前,確認你已經正確的安裝了 oracle 使用者需要的 Oracle 環境變數, 和用於 daemon 使用者的一樣. 需要設定的變數大致為如下幾個:

ORACLE_HOME

ORACLE_SID

LD_PRELOAD

LD_LIBRARY_PATH

NLS_LANG

ORA_NLS33

在設定了你的 web 伺服器使用者的環境變數之後,確認在你的 oracle 組裡面加入了 web伺服器使用者 (nobody, www).

例 1.

// 作者 sergo@bacup.ru

// 使用引數配置: OCI_DEFAULT 執行命令來延遲執行

OCIExecute($stmt, OCI_DEFAULT);

// 得到資料:

$result = OCIResult($stmt, $n);

if (is_object ($result)) $result = $result->load();

// 進行插入或者更新操作:

$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");

?>

你可以用同樣簡單的方法儲存程式命令列.

例 2. 用於儲存程式(程式)

// 作者 webmaster@remoterealty.com

$sth = OCIParse ( $dbh, "begin sp_newaddress( :address_id, ’$firstname’,

’$lastname’, ’$company’, ’$address1’, ’$address2’, ’$city’, ’$state’,

’$postalcode’, ’$country’, :error_code );end;" );

// 這個呼叫用於儲存程式 sp_newaddress, 使用 :address_id 開始一個

// in/out 變數和 :error_code 用於輸出變數.

// 這樣實現捆綁:

OCIBindByName ( $sth, ":address_id", $addr_id, 10 );

OCIBindByName ( $sth, ":error_code", $errorcode, 10 );

OCIExecute ( $sth );

?>

函式列表

OCIDefineByName — 在一個 SELECT 過程中定義步驟裡使用 PHP 變數

OCIBindByName — 為一個 Oracle 站位符捆綁一個 PHP 變數

OCILogon — 建立一個與 Oracle 的連線

OCIPLogon — 連線一個 Oracle 資料庫同時使用存在的連線登陸,返回一個新的 session.

OCINLogon — 連線一個 Oracle 資料庫同時使用新的連線登陸,返回一個新的 session.

OCILogOff — 斷開與 Oracle 的連線

OCIExecute — 執行一個語句

OCICommit — 提交 outstanding transactions

OCIRollback — 回退 outstanding transactions

OCINewDescriptor — 初始化一個新的空的描述符 LOB/FILE (LOB 是預設值)

OCIRowCount — 獲得返回的行數

OCINumCols — 返回一個語句結果的列數

OCIResult — 返回返回行的列數

OCIFetch — 在結果緩衝區裡取得下一行

OCIFetchInto — 在結果陣列裡取得下一行

OCIFetchStatement — 以資料形式返回結果資料的所有行.

OCIColumnIsNULL — 測試結果的某列是否為空 NULL

OCIColumnSize — 返回結果列的大小

OCIServerVersion — 返回包含伺服器資訊的字串.

OCIStatementType — 返回一個 OCI 語句的型別.

OCINewCursor — 返回一個新的游標 (語句控制程式碼) - 用於捆綁 ref-cursors!

OCIFreeStatement — 釋放與某語句相關的所有資源.

OCIFreeCursor — 釋放與某游標相關的所有資源.

OCIFreeDesc — 刪除一個大型的物體描述符.

OCIColumnName — 返回列的名字.

OCIColumnType — 返回列的型別.

OCIParse — 解析一個查詢返回一個語句

OCIError — 返回最後一個 stmt|conn|global 錯誤. 如果沒有錯誤發生則返回 false.

OCIInternalDebug — 開啟或關閉內部除錯輸出. 預設時關閉

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-942800/,如需轉載,請註明出處,否則將追究法律責任。

相關文章