我想用python连接到远程oracle database
并尝试创建一个pandas数据帧:
con = ora.connect('user/pass@remote_ip/XE')
query = "select * from my_table"
df = pd.read_sql(query, con)
我正在使用macOS high siera,这就是我的主机文件的样子:
##
# 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 local
127.0.0.1 localhost localhost.localdomain local lynx
255.255.255.255 broadcasthost
::1 localhost
127.0.0.1 activate.adobe.com
127.0.0.1 practivate.adobe.com
127.0.0.1 hlrcv.stage.adobe.com
127.0.0.1 na1r.services.adobe.com
127.0.0.1 quickplayer.tvgo.hu
80.211.194.173 anton
10.2.94.217 lynx
我遇到cx_Oracle.DatabaseError: ORA-21561: OID generation failed
错误。
如果我从Ubuntu尝试它的工作。
我的数据库版本:
Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
PL/SQL Release 11.2.0.2.0 - Production
CORE 11.2.0.2.0 Production
TNS for Linux: Version 11.2.0.2.0 - Production
NLSRTL Version 11.2.0.2.0 - Production
我该怎么办?
答案 0 :(得分:2)
评论摘要:
运行主机名以获取您的操作系统认为您的名字。
在这种情况下,主机名返回QGMAC.local
将此行添加到您的主机文件中:
127.0.0.1 QGMAC.local
来自Don Burleson的网站:
http://www.dba-oracle.com/t_ora_21561_oid_generation_failed.htm
" ...问题很可能发生在客户端计算机主机文件中。检查客户端计算机主机文件中是否存在客户端计算机完全限定名称和短名称。"