ORA-12560:TNS:协议适配器错误PHP、ORACLE、WAMP

ORA-12560:TNS:协议适配器错误PHP、ORACLE、WAMP,php,oracle,odbc,wamp,ora-12560,Php,Oracle,Odbc,Wamp,Ora 12560,我正在尝试使用php连接到远程服务器上的oracle数据库,但它会发出警告:ora-12560,因此我无法使用php连接,但我可以使用toad for oracle,我正在使用odbc,我已经使用microsoft odbc administrator设置了驱动程序: 我在php中使用了odbc_connect(ConnectionString、UserID、UserPassword) ConnectionString=Driver={Oracle en OraClient10g_home1};

我正在尝试使用php连接到远程服务器上的oracle数据库,但它会发出警告:ora-12560,因此我无法使用php连接,但我可以使用toad for oracle,我正在使用odbc,我已经使用microsoft odbc administrator设置了驱动程序:

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

ConnectionString=Driver={Oracle en OraClient10g_home1};服务器=xxx.xx.x.xxx;端口=1521;数据库=xxxxxx

我没有访问数据库所在服务器的权限,但我认为oracle服务不会关闭,因为我可以与toad连接,所以这肯定是另一回事。在我的客户身上,我也能使tnsping成功

这是我的名片

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

您是否正在连接到Oracle RAC环境

我遇到过类似您描述的问题,当实例参数local_listener使用简化的表示法(如“dbnode vip:1521”)而不是(ADDRESS=(PROTOCOL=TCP)(HOST=dbnode vip)(PORT=1521))时

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

xxxxxx=(描述=(地址\列表=(地址=(协议=TCP)(主机=dbnode vip地址的ip)(端口=1521))(连接\数据=(服务\名称=xxxxxx)))


另一个可能的解决方案是使用较新版本的Oracle客户端软件。10g就像Windows XP。谁在使用这种过时的不受支持的软件

我检查了我的本地_监听器,结果是:监听器=(描述=(地址=(协议=TCP)(主机=xxx.xx.x.xxx)(端口=1521)),我想这肯定是另一回事,但是,如果其他应用程序可以像toad一样连接,那一定是客户端的问题,请管理员提供此命令的输出:SQL>show parameter local_Listener这是很久以前解决的问题,它是连接字符串,每个驱动程序都有特定的连接字符串,对于oracle来说是:'driver={oracle en OraClient10g_home1};服务器=xxx.xx.x.xxx;UID=xxxxxxxxx;PWD=XXXXXXXXXXXX;DBQ=xxxxxxxx'