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

MSSQL
SQL Server 中死锁产生的原因及解决办法
教你在SQL Server 2000数据库中使用分区
数据仓库基本报表制作过程中的SQL写法
自动定时重启sql server回收内存
轻松解决SQL Server 2005中的常见问题
用一个案例讲解SQL Server数据库恢复
安装SQL Server 2005时出现计数器错误
讲解SQL Server 2005数据库的同义词Bug
利用SQL语句对不同数据库进行高效果分页
三种数据库利用SQL语句进行高效果分页
数据库连接字符串的常见问题和解决方法
教你快速掌握一些方便易用的SQL语句
深入分析SQL Server的数据转换服务
系统默认的MySQL用户名消失的解决方法
SQL 2008邮件故障排除:发送测试电子邮件
SQL Server 2005日志文件损坏的处理方法
在SQL Server 2005数据库中进行错误捕捉
SQL Server查询速度慢原因及优化方法
加密SQL Anywhere 提升政府行业数据安全
Windows Server 2008之数据安全保护

MSSQL 中的 Oracle 8 的函数介绍


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 101 ::
收藏到网摘: 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