首页 > php与数据库 > Oracle 8 的函数介绍

Oracle 8 的函数介绍

这些函数允许你存取 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.  

<?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 );


本文地址:http://www.phprm.com/database/4c13ffbf472caa4f14590a7454f0b9a8.html

转载随意,但请附上文章地址:-)

标签:none

发表留言