oci_connect ERR_CONNECTION_RESET 使用 tnsnames 时
oci_connect ERR_CONNECTION_RESET when using tnsnames
我正在尝试使用 php 连接到 Oracle 数据库。当我尝试通过连接 string/descriptor 连接时,它连接得很好,但是当我尝试使用 tns 名称连接时,整个过程停止并且 chrome 显示空白错误页面 ERR_CONNECTION_RESER
。我看到失败的响应,它是 0 个字节,没有 header,没有 body...没有。
代码如下:
<?php
error_reporting(E_ALL);
ini_set('display_errors', 'On');
$connStr = "Some connection <string> copied from tnsnames.ora";
//$connStr = "Some connection <name> copied from tnsnames.ora";
try
{
$conn = oci_connect('dev', '12345678', $connStr, 'utf8');
if (!$conn)
{
$err = oci_error();
var_dump($err);
}
oci_close($conn);
echo "Success";
}
catch(Exception $e)
{
$err = oci_error();
var_dump($err);
var_dump($e);
}
我检查过,我的 php 可以看到
ORACLE_HOME
TNS_ADMIN
他们指向了正确的方向。
我在用
Windows7 amd64
PHP 5.6.13 TS VC11
阿帕奇 2.4.16 VC14
即时客户端 12.1.0.2
在这个问题上花了几个小时睡不着觉,我找到了解决方案。
我有一个指定超时和其他网络属性的 sqlnet.ora 文件。我们的数据库最近加入了公司的域,问题出在这一行:
之前
NAMES.DIRECTORY_PATH= (HOSTNAME, TNSNAMES, ONAMES, EZCONNECT, LDAP)
#########
解决方案
NAMES.DIRECTORY_PATH= (HOSTNAME, TNSNAMES, ONAMES, EZCONNECT, LDAP)
NAMES.DEFAULT_DOMAIN = FIRM.DOMAIN
我正在尝试使用 php 连接到 Oracle 数据库。当我尝试通过连接 string/descriptor 连接时,它连接得很好,但是当我尝试使用 tns 名称连接时,整个过程停止并且 chrome 显示空白错误页面 ERR_CONNECTION_RESER
。我看到失败的响应,它是 0 个字节,没有 header,没有 body...没有。
代码如下:
<?php
error_reporting(E_ALL);
ini_set('display_errors', 'On');
$connStr = "Some connection <string> copied from tnsnames.ora";
//$connStr = "Some connection <name> copied from tnsnames.ora";
try
{
$conn = oci_connect('dev', '12345678', $connStr, 'utf8');
if (!$conn)
{
$err = oci_error();
var_dump($err);
}
oci_close($conn);
echo "Success";
}
catch(Exception $e)
{
$err = oci_error();
var_dump($err);
var_dump($e);
}
我检查过,我的 php 可以看到 ORACLE_HOME TNS_ADMIN 他们指向了正确的方向。 我在用 Windows7 amd64 PHP 5.6.13 TS VC11 阿帕奇 2.4.16 VC14 即时客户端 12.1.0.2
在这个问题上花了几个小时睡不着觉,我找到了解决方案。
我有一个指定超时和其他网络属性的 sqlnet.ora 文件。我们的数据库最近加入了公司的域,问题出在这一行:
之前
NAMES.DIRECTORY_PATH= (HOSTNAME, TNSNAMES, ONAMES, EZCONNECT, LDAP)
#########
解决方案
NAMES.DIRECTORY_PATH= (HOSTNAME, TNSNAMES, ONAMES, EZCONNECT, LDAP)
NAMES.DEFAULT_DOMAIN = FIRM.DOMAIN