Welcome 微信登录

首页 / 数据库 / MySQL / PHP连接Oracle错误ORA-24324服务句柄未初始化的解决方法

     现在,PHP与Oracle连接一般用到php_oci8.dll。      但是,写完PHP代码调试的时候,我遇到了一个很古怪的问题,就是只有每一次开机第一次连能成功拿到数据,后来怎么试都不行,直接给出了错误信息Warning: ociexecute() [function.ociexecute]: OCIStmtExecute: ORA-24324: service handle not initialized。当时的PHP代码如下(这段代码从Oracle获得数据生成了一个表单):                $oraUser="VISITOR";
                $oraPass="123456";
                $oraDB="company";
                $conn = OCILogon
($oraUser,$oraPass,$oraDB);
                if (!$conn) {
                   exit;
                }
                $stmt = OCIParse($conn,"select * from visitor.employee");
                if(!$stmt) {
                   exit;
                }
                OciExecute($stmt);
                echo "<table width=75% border="1" cellspacing="0" cellpadding="1"> ";
                echo "<br/><tr> <td>名字</td><td>性别</td><td>员工编号</td><td>工资</td><td>部门</td><td>出生日期</td><td>进入公司日期</td> </tr> ";
                while ($row = oci_fetch_array($stmt, OCI_ASSOC+OCI_RETURN_NULLS)) {
                    echo "<tr> ";
                    foreach ($row as $item) {
                    echo "<td>" . ($item !== null ? htmlentities($item, ENT_QUOTES) : "&nbsp;") . "</td> ";
                }
                echo "</tr> ";
                }
                echo "</table> ";
                OCIFreeStatement($stmt);        
                OCILogoff($conn);
       通过查阅资料,在一个英文论坛不起眼的地方发现有人说,这是PHP5的bug,用oci_new_connect代替OCILogon函数就可以解决问题。       当时就这么解决了,也没管。       当我做完东西,apache都拆了的时候,发现有些PHP网页里,我在使用完数据库之后漏写了OCILogoff,也就是没有释放连接。我猜这就是症结所在,因为所有的这些PHP都是用同一个账户连接的,产生了冲突,而oci_new_connect新建连接显然可以避免这个问题。       所以,我想,如果所有的网页都在使用完连接之后安全释放,应该就能够避免上面的问题。不过,也没机会进行验证了,如果有同志遇到这样的问题,不妨试一下。RHEL5.5_x86_64 上安装Oracle10g Release 2在Linux下安装DP客户端备份Oracle相关资讯      oracle 
  • [INS-32052] Oracle基目录和Oracle  (07/22/2014 07:41:41)
  • Oracle 4个大对象(lobs)数据类型  (02/03/2013 12:33:05)
  • Oracle按时间段分组统计  (07/26/2012 10:36:48)
  • [Oracle] dbms_metadata.get_ddl的  (07/12/2013 07:37:30)
  • Liferay Portal 配置使用Oracle和  (07/31/2012 20:07:18)
  • Concurrent Request:Inactive   (07/20/2012 07:44:05)
本文评论 查看全部评论 (0)
表情: 姓名: 字数