時間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(0)
?? 這些函數(shù)允許你存取 Oracle8 和 Oracle7 數(shù)據(jù)庫. 他使用 Oracle8 的點用接口 (OCI8). 使用這個擴展模塊,你需要 Oracle8 客戶端庫文件.?
?? 這個擴展模塊比標準 Oracle 模塊更流暢。他支持用于 Oracle 站位符的全局和本機 PHP 變量。有完整的 LOB, 文件和 ROWID 支持,允許使用用戶提供的定義的變量.?
?? 在使用這個擴展之前,確認你已經(jīng)正確的安裝了 oracle 用戶需要的 Oracle 環(huán)境變量, 和用于 daemon 用戶的一樣. 需要設置的變量大致為如下幾個:?
ORACLE_HOME?
ORACLE_SID?
LD_PRELOAD?
LD_LIBRARY_PATH?
NLS_LANG?
ORA_NLS33?
?? 在設置了你的 web 服務器用戶的環(huán)境變量之后,確認在你的 oracle 組里面加入了 web服務器用戶 (nobody, www).?
?? 例 1.?
// 作者 [email protected]?
// 使用參數(shù)配置: OCI_DEFAULT 執(zhí)行命令來延遲執(zhí)行?
OCIExecute($stmt, OCI_DEFAULT);?
// 得到數(shù)據(jù):?
$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. 用于存儲進程(程序)?
// 作者 [email protected]?
$sth = OCIParse ( $dbh, "begin sp_newaddress( :address_id, ’$firstname’,?
’$lastname’, ’$company’, ’$address1’, ’$address2’, ’$city’, ’$state’,?
’$postalcode’, ’$country’, :error_code );end;" );?
// 這個調(diào)用用于存儲進程 sp_newaddress, 使用 :address_id 開始一個?
// in/out 變量和 :error_code 用于輸出變量.?
// 這樣實現(xiàn)捆綁:?
OCIBindByName ( $sth, ":address_id", $addr_id, 10 );?
OCIBindByName ( $sth, ":error_code", $errorcode, 10 );?
OCIExecute ( $sth );?
?>?
?? 函數(shù)列表?
OCIDefineByName — 在一個 SELECT 過程中定義步驟里使用 PHP 變量?
OCIBindByName — 為一個 Oracle 站位符捆綁一個 PHP 變量?
OCILogon — 建立一個與 Oracle 的連接?
OCIPLogon — 連接一個 Oracle 數(shù)據(jù)庫同時使用存在的連接登陸,返回一個新的 session.?
OCINLogon — 連接一個 Oracle 數(shù)據(jù)庫同時使用新的連接登陸,返回一個新的 session.?
OCILogOff — 斷開與 Oracle 的連接?
OCIExecute — 執(zhí)行一個語句?
OCICommit — 提交 outstanding transactions?
OCIRollback — 回退 outstanding transactions?
OCINewDescriptor — 初始化一個新的空的描述符 LOB/FILE (LOB 是默認值)?
OCIRowCount — 獲得返回的行數(shù)?
OCINumCols — 返回一個語句結(jié)果的列數(shù)?
OCIResult — 返回返回行的列數(shù)?
OCIFetch — 在結(jié)果緩沖區(qū)里取得下一行?
OCIFetchInto — 在結(jié)果數(shù)組里取得下一行?
OCIFetchStatement — 以數(shù)據(jù)形式返回結(jié)果數(shù)據(jù)的所有行.?
OCIColumnIsNULL — 測試結(jié)果的某列是否為空 NULL?
OCIColumnSize — 返回結(jié)果列的大小?
OCIServerVersion — 返回包含服務器信息的字符串.?
OCIStatementType — 返回一個 OCI 語句的類型.?
OCINewCursor — 返回一個新的光標 (語句句柄) - 用于捆綁 ref-cursors!?
OCIFreeStatement — 釋放與某語句相關(guān)的所有資源.?
OCIFreeCursor — 釋放與某光標相關(guān)的所有資源.?
OCIFreeDesc — 刪除一個大型的物體描述符.?
OCIColumnName — 返回列的名字.?
OCIColumnType — 返回列的類型.?
OCIParse — 解析一個查詢返回一個語句?
OCIError — 返回最后一個 stmt|conn|global 錯誤. 如果沒有錯誤發(fā)生則返回 false.?
OCIInternalDebug — 打開或關(guān)閉內(nèi)部調(diào)試輸出. 缺省時關(guān)閉??
關(guān)鍵詞標簽:介紹,函數(shù),一個,返回,
相關(guān)閱讀
熱門文章
Oracle中使用alter table來增加,刪除,修改列的語法
oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例
誤刪Oracle數(shù)據(jù)庫實例的控制文件
為UNIX服務器設置Oracle全文檢索
人氣排行 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 Oracle中使用alter table來增加,刪除,修改列的語法 ORACLE SQL 判斷字符串是否為數(shù)字的語句 ORACLE和SQL語法區(qū)別歸納(1) oracle grant 授權(quán)語句 ORACLE修改IP地址后如何能夠使用 如何加速Oracle大批量數(shù)據(jù)處理 Oracle刪除表的幾種方法