【问题标题】:ORA-12560: TNS: PROTOCOL ADAPTER ERROR PHP, ORACLE, WAMPORA-12560: TNS: 协议适配器错误 PHP、ORACLE、WAMP
【发布时间】:2017-05-19 20:36:13
【问题描述】:

我正在尝试使用 php 连接到远程服务器上的 oracle 数据库,但它会引发警告:ora-12560 所以我无法连接到 php 但我可以使用 toad for oracle,我正在使用 odbc,我已经用 microsoft 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)
    )
  )

【问题讨论】:

    标签: php oracle odbc wamp ora-12560


    【解决方案1】:

    您是否连接到 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。谁使用这种旧的取消支持的软件?

    【讨论】:

    • 我检查了我的 local_listener,它就像:LISTENER = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = xxx.xx.x.xxx)(PORT = 1521))) 我想这一定是另一回事,但如果其他应用程序可以像蟾蜍一样连接,那一定是客户端问题
    • 请您的管理员提供此命令的输出:SQL> show parameter local_listener
    • 很久以前就解决了,是连接字符串,每个驱动都有特定的连接字符串,oracle是:'Driver={Oracle en OraClient10g_home1};SERVER= xxx.xx.x。 xxx;UID=xxxxxxxxx;密码=xxxxxxxxxxxx;DBQ=xxxxxxxx'
    猜你喜欢
    • 2011-04-06
    • 2023-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多