一台windows服务器(PHP程序也在这里),“远程连接”oracle的但是报这个错,按网上说吗是ORACLE_HOME问题,也在本机设置过环境变量中加ORACLE_HOMT,不能解决啊...

解决方案 »

  1.   

    没用过oracle这么高端的东西啊,这个是老徐的长项.等老徐来帮你瞅瞅.
      

  2.   

    贴出你的连接代码似乎远程连接 oracle8 是需要配置环境变量的,但也不一定!
    只要给出远程数据库所在的 地址、端口、和监听名就可以了我对 oracle 并不熟悉,只是去年有需求从 oracle10 中读取数据,才对他探索了一下
    我感到,使用 pdo_oci 连接 oracle 异常简单。
      

  3.   


    public function open($user = '', $passwd = '', $db = '')
        {
         try{
             $this->_conn = OCILogon($user, $passwd, $db);
         }catch(Exception $e)
         {
         $this->_error = $e->getMessage();
         }
        
            return $this->_conn;
        }
        
        public function close()
        {
            if($this->_conn)
                OCILogoff($this->_conn);
            parent::release();
        }
      

  4.   

    ocilogon -- oci_connect() 的别名oci_connect() 返回一个大多数 OCI 调用都需要的连接标识符。可选的第三个参数可以包含想要连接的本地 Oracle 的实例的或者在 tnsnames.ora 中的条目的名字。如果没有指定可选的第三个参数,PHP 使用环境变量 ORACLE_SID(Oracle 实例)或 TWO_TASK(tnsnames.ora)来确定连接哪一个数据库。 注: 如果 PHP 用的是 Oracle Instant Client,可以用容易的命名连接方法,说明见这里:http://download-west.oracle.com/docs/cd/B12037_01/network.101/b10775/naming.htm#i498306。基本上这意味着可以指定 "//db_host[:port]/database_name" 作为数据库名。但如果想用命名的旧方法则必须设定 ORACLE_HOME 或 TNS_ADMIN 二者之一。