Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用tnsnames从php连接到oracle?_Php_Oracle_Tnsnames - Fatal编程技术网

如何使用tnsnames从php连接到oracle?

如何使用tnsnames从php连接到oracle?,php,oracle,tnsnames,Php,Oracle,Tnsnames,我得到这个错误: 服务器响应='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.or

我得到这个错误: 服务器响应='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');
?>

这种方式根本不起作用,我所做的就是使用Easy Connect字符串:
$conn=oci_connect('user'、'pass'、'host/servicename');然而,第一种方法应该是有效的,因为在另一种环境中它可以工作。

它从来没有用过这种方法,我所做的是使用Easy Connect string:
$conn=oci_connect('user'、'pass'、'host/servicename');然而,第一种方法应该是有效的,因为在另一种环境中它可以工作。

tnsnames.ora文件应该如下所示

$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"
}

DBNAME=
(说明=
(地址=
(协议=TCP)
(主机=您的IP地址)
(端口=您的端口号)
)
(连接数据)=
(服务名称=您的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"
}

tnsnames.ora文件应如下所示

$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"
}

DBNAME=
(说明=
(地址=
(协议=TCP)
(主机=您的IP地址)
(端口=您的端口号)
)
(连接数据)=
(服务名称=您的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"
}

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