import pandas as pd
import sqlalchemy
engine = sqlalchemy.create_engine('oracle://XXX:XXX@XXX:XXX/?service_name=XXX')
sql = 'select * from XXX where rownum < 10'
df = pd.read_sql(sql,con=engine)
DatabaseError:(cx_Oracle.DatabaseError)DPI-1047:64位Oracle 无法加载客户端库:“C:\ oracle \ 11.2.0 \ bin \ oci.dll不是 正确的架构“。见 https://oracle.github.io/odpi/doc/installation.html#windows寻求帮助
我正在尝试使用Python连接到Oracle数据库,但是我收到了上述错误。我知道:
但错误仍然告诉我架构是错误的。
对此的任何帮助都会很棒 - 我无法弄清问题可能在哪里!
答案 0 :(得分:1)
错误消息中提到的文件是32位DLL,而不是64位DLL - 至少假设检查这些事情的逻辑是正确的!代码正在使用此处提到的imagehelp API:How can I test a Windows DLL file to determine if it is 32 bit or 64 bit?。还有一些其他方法可以验证DLL是32位还是64位。检查PATH并确保在PATH中首先安装64位Oracle客户端。下载并解压缩64位Oracle Instant Client,以便快速轻松地进行测试。