当前位置: 首页 > 图文教程 > 数据库 > MSSQL > Oracle 8 的函数介绍

MSSQL
MS SQL Server 2000系统数据类型
SQL Server几个容易出错的数据类型
SQL Server 数据库中关于死锁的分析
站长必备的sql查询语言基础知识
经验分享交流:常用SQL语句技法
SQL SERVER 2000 数据库备份与还原
解决SQL SERVER 2005无法远程连接的问题
SQL Server 安装参考意见
在sqlserver2005中安装sql server 2000的示例数据库northwind
SQL Server 2000 数据库分离与附加
高级自定义查询、分页、多表联合存储过程
SQL Server数据库下教你如何做导库SQL
常用的 MSSQL Server 数据修复命令
SQL存储过程初探
SQL Server存储过程编写经验和优化
卸载SQL Server2000后不能再次安装的问题解决方法
教你安装SQL Server 2005示例数据库
MySQL 的外键与参照完整性: Part 1
SQL Server安装:"安装文件配置服务器失败"的解决方法
SQL Server 数据库文件存放在何处

MSSQL 中的 Oracle 8 的函数介绍


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 62 ::
收藏到网摘: n/a

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