首页 > 数据库 > Oracle > 正文

Oracle 8 的函数介绍

2024-08-29 13:32:06
字体:
来源:转载
供稿:网友

这些函数允许你存取 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  
// 作者 [email protected]  

// 使用参数配置: 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  
// 作者 [email protected]  
$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 — 打开或关闭内部调试输出. 缺省时关闭  
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表