8

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

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

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

有没有其他人遇到过这个问题,或者对如何解决有任何建议?

4

3 回答 3

13

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

  • 获取主机名

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

    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 localhost.idc.company.com
    
于 2014-01-24T11:56:43.140 回答
1

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

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

...我前一阵子与之抗争,答案就在这里:ORA-24408:无法生成唯一的服务器组名称

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

于 2013-10-29T16:49:36.300 回答
1

这可以通过简单编辑您的主机文件来解决:

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

  1. $主机名:

    机器

  2. $vi /etc/hosts :

127.0.0.1 本地主机 the_machine

  1. $python Connect_to_Oracle_DB.py

干杯!

于 2017-01-14T11:15:25.510 回答