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

时间:2013-10-29 16:21:37

标签: php oracle pdo oci

尝试在我的某个Web服务器上执行PDO OCI SQL查询时收到以下错误:

SQLSTATE[HY000]: OCISessionBegin: ORA-21561: OID generation failed

我已经确认可以从计算机访问Oracle服务器并且网络配置看起来很好。谷歌的回报很少,而且效果不是很有帮助。

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

3 个答案:

答案 0 :(得分:12)

我遇到了同样的问题。我试图连接到我的localhost上的数据库。 这就是我解决它的方式。

  • 获取主机名

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

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

答案 1 :(得分:1)

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

"ORA-24408: could not generate unique server group name"

......我曾经做过一段时间的战斗,答案就在这里:ORA-24408: could not generate unique server group name

我只是在这里张贴以防万一遇到类似的错误。希望有所帮助。

答案 2 :(得分:1)

可以通过简单编辑主机文件来修复此问题:

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

  1. $ hostname:

    the_machine

  2. $ vi / etc / hosts:

  3. 127.0.0.1 localhost the_machine

    1. $ python Connect_to_Oracle_DB.py
    2. 干杯!