Oracle 8 的函數介紹

來源:互聯網
上載者:User
這些函數允許你存取 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  


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

例 1.  

<?php  
// 作者 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. 用於儲存進程(程式)  

<?php  
// 作者 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 — 開啟或關閉內部調試輸出. 預設時關閉  

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.