Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/247.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php SQLSTATE[HY000]:OCISessionBegin:ORA-21561:OID生成失败_Php_Oracle_Pdo_Oracle Call Interface - Fatal编程技术网

Php SQLSTATE[HY000]:OCISessionBegin:ORA-21561:OID生成失败

Php SQLSTATE[HY000]:OCISessionBegin:ORA-21561:OID生成失败,php,oracle,pdo,oracle-call-interface,Php,Oracle,Pdo,Oracle Call Interface,尝试在我的一台web服务器上执行PDO OCI SQL查询时,我收到以下错误: SQLSTATE[HY000]: OCISessionBegin: ORA-21561: OID generation failed 我已经确认可以从机器上访问Oracle服务器,并且网络配置看起来很好。谷歌返回的结果很少,也不是很有用 是否有其他人遇到过此问题,或者对如何解决此问题有任何建议?我决定放弃使用PDO,只是尝试使用OCI_Connect()函数连接到数据库,并收到以下消息: "ORA-24408: c

尝试在我的一台web服务器上执行PDO OCI SQL查询时,我收到以下错误:

SQLSTATE[HY000]: OCISessionBegin: ORA-21561: OID generation failed
我已经确认可以从机器上访问Oracle服务器,并且网络配置看起来很好。谷歌返回的结果很少,也不是很有用


是否有其他人遇到过此问题,或者对如何解决此问题有任何建议?

我决定放弃使用PDO,只是尝试使用OCI_Connect()函数连接到数据库,并收到以下消息:

"ORA-24408: could not generate unique server group name"
。。。不久前,我曾与之抗争,答案如下:


我只是把它贴在这里,以防有人遇到类似的错误。希望这对某人有所帮助。

我也面临同样的问题。我试图连接到本地主机上的数据库。 我就是这样解决的

  • 获取主机名

    > hostname 
    localhost.idc.company.com
    
  • 将此名称添加到/etc/hosts文件

    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 localhost.idc.company.com
    

只需简单编辑主机文件即可解决此问题:

只需在终端/命令提示符中键入“hostname”,即可找到本地主机系统的名称。假设您的机器名为“the_machine”,然后将/etc/hosts文件编辑为:127.0.0.1 localhost the_machine

  • $hostname:

    机器

  • $vi/etc/主机:

  • 127.0.0.1本地主机\u计算机

  • $python Connect_to_Oracle_DB.py

  • 干杯

    你能给我看一下PDO构造函数参数和tnsnames.ora(检查两个地方的主机名是否相同)吗?我实际上只是想完全绕过PDO,只使用OCI,然后收到了一条更有用的错误消息,这导致了一个快速的解决方案——很抱歉给你添麻烦。我会将我的发现作为答案发布,以防对其他人有所帮助。将主机名添加到localhost的/etc/hosts文件中对我也有效,即使我正在连接远程Oracle服务器。因此,即使您有远程服务器,也可以尝试此修复。