' ORA-21561:远程Oracle 12c XE实例的OID生成失败 - Mac上的Windows 10客户端上的Oracle(使用python的cx_Oracle)

时间:2017-03-15 15:21:04

标签: python oracle

我正在尝试使用mac机器上的cx_Oracle包通过python连接到在Windows 10上运行的Oracle实例。 现在连接时抛出以下错误。 ' ORA-21561:OID生成失败\ n'

我的示例代码:

import cx_Oracle

DSN = cx_Oracle.makedsn(host=server, port=port, service_name=database)
# Below is the DNS
# (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.9)(PORT=50244))(CONNECT_DATA=(SERVICE_NAME=devXDB)))
con = cx_Oracle.Connection(user, password, DSN)

但是我可以使用SQL开发人员和PyCharm的数据库浏览器从同一台机器(mac)连接。我搜索过并没有找到任何与远程实例相关的解决方案。建议的解决方案似乎只适用于需要在Windows 10上编辑/更新etc / hosts或相关文件的本地实例。

提前致谢。

1 个答案:

答案 0 :(得分:2)

这确实是/ etc / hosts文件问题的问题。 有一点需要注意,即使oracle实例在远程机器上运行,客户端机器(从那里连接到oracle实例)/ etc / hosts文件也应该有这样的条目。

##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1       localhost localhost.localdomain Amits-iMac.local

替换' Amits-iMac.local'到您客户的主机名。