【发布时间】:2012-02-10 17:10:06
【问题描述】:
这是一个让我的细胞感到困惑的问题。
有一个我想连接的 oracle 服务器。我可以使用 sqlplus 命令行轻松连接到它。
当我尝试使用 PHP 连接到 oracle 数据库时,它失败了。这是一个问题,我们在另一个数据中心有相同的设置; PHP 机器正在尝试连接到 oracle 数据库。我运行了完全相同的代码,在两台 PHP 机器上配置了相同的 php。
PHP1 可以通过 sqlplus 和 php 连接到 Oracle1。
PHP2 使用 sqlplus 连接到 Oracle2,但不使用 PHP。
有防火墙和一些端口阻塞。我目前的解释是php2用来连接oracle2的端口不是默认的1521,它被阻塞了。
我得到的 ora 错误是:
ORA-06413:连接未打开。
有什么想法吗?
【问题讨论】:
-
你知道端口不是 1521 - 你能看到 SQL*Plus 使用的连接细节吗,例如如果您使用别名,在您的
tnsnames.ora中?如果一个客户端可以连接而另一个客户端不能连接,这似乎不太可能是网络或防火墙问题。我假设这两个连接都是从同一台客户端机器上尝试的,这是真的吗? -
如果您在两台机器上都配置了相同的 php,为什么其中一台使用不同的端口连接?如果是这样,我会说你没有对它们进行相同的配置......