当前位置:数据库 > Oracle >>

Oracle8的函数介绍

答案:这些函数允许你存取 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 — 打开或关闭内部调试输出. 缺省时关闭 本文来自:http://doc.linuxpk.com/3507.html
发表您的高见!

上一个:Oracle8.1.7在redhat7.3的安装方法
下一个:面向对象的关系数据库设计

Oracle
MySQL
Access
SQLServer
DB2
Excel
SQLite
SYBASE
Postgres
如果你遇到数据库难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,