zoukankan      html  css  js  c++  java
  • php连接oracle

    1.安装oracle客户端,不管是32位还是64位;当系统是32位的时候,要装32位的客户端,PL/SQL才能给连上数据库

    2.php.ini中对应的oracle相关扩展打开。php_openssl.dll,php_oci8.dll,如果装的是11g的话,不打开php_oci8.dll,而是php_oci8_11g.dll。如果有php_oracle.dll的话,就打开。

    3.写个测试代码进行连接测试,如下:

    <?php
    $dbconn = oci_connect('test','test',"(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.21.1.10)(PORT=1521))(CONNECT_DATA=(SID=vasd)))");
    if ($dbconn) {
    echo '连接成功';
    }else {
    echo '连接失败';
    }

    注意:每次修改都重启哈apache服务。

    如果报错,找不到oci_connect方法,则说明phpinfo中没有找到oci8扩展信息,则需要将oracle客户端下的响应的dll拷贝到apache的bin目录下。例如,我装的是oracle 11g的,那么拷贝的dll文件是instantclient_11_2目录下的oci.dll,orannzsbb11.dll,oraociei11.dll;

    如果继续报错Warning: oci_connect(): OCIEnvNlsCreate() failed. There is something wrong with ......library,则说明需要为oracle客户端配置响应的环境变量

    Path(在变量中加入)                                 D:oracle instantclient
      LD_LIBRARY_PATH                                      D:oracle instantclient
      NLS_LANG                                   SIMPLIFIED CHINESE_CHINA.ZHS16GBK
      ORACLE_HOME                                          D:oracle instantclient
      SQL_PATH                                             D:oracle instantclient
      TNS_ADMIN                                            D:oracle instantclient

    如果安装了oarcle服务端,则将tnsnames.ora文件拷贝到instantclient目录下,没有的话,就想办法让instantclient目录下有tnsnames.ora文件。

  • 相关阅读:
    antipirate AD
    猪头符号
    开发过程中经常出现的问题及解决方案
    CS0016: 未能写入输出文件C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\source code\00f88265\65f00fab\App_Web_w56x7oz6.dll拒绝访问
    ASPxComboBox控件联动效果bug改进
    工作中的点滴积累
    每日一句
    每日一句
    解决ora12154的问题
    如何查看eclipse版本?
  • 原文地址:https://www.cnblogs.com/xingmeng/p/3298941.html
Copyright © 2011-2022 走看看