【问题标题】:How to connect to oracle from php with tnsnames?如何使用 tnsnames 从 php 连接到 oracle?
【发布时间】:2016-01-21 03:02:10
【问题描述】:

我收到此错误: 服务器响应='12154 ORA-12154: TNS: 无法解析指定的连接标识符

我在 Ubuntu 14.04 我的环境变量是:

ORACLE_HOME = /usr/lib/oracle/12.1/client64​
LD_LIBRARY_PATH = /usr/lib/oracle/12.1/client64/lib
TNS_ADMIN = /usr/lib/oracle/12.1/client64/network/admin

tnsnames.ora 和 sqlnet.ora 在 /usr/lib/oracle/12.1/client64/network/admin 中

PS:我可以通过 sqlplus 连接:

sqlplus64 user/pass@dbname

这是代码:

<?php
    $conn = oci_connect('user', 'pass', 'dbname');
?>

【问题讨论】:

  • 所以 - 请发布 php 代码 - 否则我不认为你会得到帮助。

标签: php oracle tnsnames


【解决方案1】:

它从来没有那样工作过,我所做的是使用 Easy Connect 字符串: $conn = oci_connect('user', 'pass', 'host/servicename');但是第一种方法应该可以工作,因为在另一个环境中它可以工作。

【讨论】:

    【解决方案2】:

    tnsnames.ora 文件应如下所示


    数据库名称=
       (DESCRIPTION=
        (地址=
        (协议=TCP)
          (主机=您的 IP 地址)
            (端口=您的端口号)
       )
       (CONNECT_DATA=
        (SERVICE_NAME=您的 DBNAMEPROD)
       )
    )

    conn.php 文件应如下所示

    $USERNAME = "hr";                  // Login Username
    $PASSWORD = "hr";             // Login Passowrd
    $DATABASE = "DBNAME";   // Connect string to connect to your database found in tnsnames.ora
    $conn = oci_connect($USERNAME, $PASSWORD, $DATABASE);
    
    if(!$conn){
        echo "Your Connection Has an error";
    }
    else{
        echo "Your Connection is Successful"
    }
    

    【讨论】:

      猜你喜欢
      • 2018-12-13
      • 2018-07-18
      • 2010-09-10
      • 2018-07-12
      • 2020-09-20
      • 2013-01-09
      • 1970-01-01
      • 1970-01-01
      • 2020-07-30
      相关资源
      最近更新 更多