放飞你的梦想--翱翔我的天空 | 会员登陆 | 繁體中文 | 站点地图 | 站长博客
 | 网站首页 | 文章中心 | IT 前沿 | 清怡画风 | 视频教程 | 资源下载 | 精彩图库 | 博客文赏 | 天空论坛 | 访客留言 | 音乐版 | 
      本站全新推出IT 前沿频道欢迎大家访问 地址 http://it.tkbbs.com  [风雪残士  2005年12月9日]            本站推出新浪VIVI收藏夹服务,欢迎使用  [风雪残士  2005年10月18日]        
您现在的位置: 翱翔翼站 >> 文章中心 >> 编程开发 >> 数据库 >> 其他 >> 文章正文 今天是:
Oracle 8 的函数介绍 【字体:
作 者:佚名  文章来源:网络 更新:2006-3-12 点击: 






这些函数允许你存取 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 );  
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 — 打开或关闭内部调试输出. 缺省时关闭  
文章录入:风雪残士    责任编辑:风雪残士  
 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    相关文章
  • oracle架构的基础知识(入门级…

  • 新手入门 Windows下Oracle安…

  • Oracle PL/SQL入门之案例实践

  • 跟我学SQL:(二) SELECT语句…

  • SQL中DATALENGTH 用法

  • MySQL进阶_create table篇

  • MySQL进阶_SELECT篇(三)

  • MySQL进阶_SELECT篇(二)

  • MySQL进阶_SELECT篇(一)

  • MySQL数据库函数详解(5)

  • 最新文章 TOP10
    最新热门 TOP10
    最新推荐TOP10
    翱翔翼站拥有本站所有版权! Copyright © 2005 - 2008 5-IT.COM
    本站维护 :风雪残士

    浙ICP备05039908号
    努力打造国内最全的电脑技术资料库