0

我正在尝试使用 php 连接到远程服务器上的 oracle 数据库,但它会引发警告:ora-12560 所以我无法连接到 php 但我可以使用 toad for oracle,我正在使用 odbc 并且我已经设置我的微软 odbc 管理员驱动程序:

我在 php 中使用了 odbc_connect(ConnectionString, UserID, UserPassword)

ConnectionString = Driver={Oracle en OraClient10g_home1};Server=xxx.xx.x.xxx;Port=1521;Database=xxxxxx;

我无权访问数据库所在的服务器,但我不认为 oracle 服务已关闭,因为我可以连接 toad,所以它必须是另一回事。在我的客户端中,我也可以使 tnsping 成功。

这是我的 tnsnames.ora

xxxxxx =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = xxx.xx.x.xxx)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = xxxxxx)
    )
  )
4

1 回答 1

0

您是否连接到 Oracle RAC 环境?

当实例参数 local_listener 使用像“dbnode-vip:1521”这样的简化符号而不是“ (ADDRESS=(PROTOCOL=TCP)(HOST=dbnode-vip)(PORT=1521))时,我遇到了类似您描述的问题”。

您可以通过直接访问 vip-address 来测试此场景:

xxxxxx = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = ip-of-the-dbnode-vip-address)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = xxxxxx)))

另一种可能的解决方案是使用更新版本的 Oracle 客户端软件。10g 就像 Windows XP。谁使用这种旧的取消支持的软件?

于 2017-05-21T22:01:44.580 回答