pandas - Pandas 连接到 Oracle 错误 oci.dll 不存在
问题描述
我正在尝试将 pandas 连接到 Oracle,如下所示(我已经下载了 oracle 客户端):
import pandas as pd
import cx_Oracle
username='a'
password='d'
host_name = 'aa.com'
service_name= 'ss'
dsn = cx_Oracle.makedsn(host=host_name,port=1535,sid=None,service_name=service_name)
con = cx_Oracle.connect(user=username, password=password, dsn= dsn ,encoding = "UTF-8", nencoding = "UTF-8")
my_sql_query=(""" SELECT * FROM schema.tbl1 WHERE ROWNUM =1 """)
##1- Directly reading SQL to Pandas
#Read SQL via Oracle connection to Pandas DataFrame
df = pd.read_sql(my_sql_query, con=con)
我得到:找不到 64 位 Oracle 客户端库:"C:\oracle\product\11.2.0\client_1\bin\oci.dll is not the correct architecture". See https://oracle.github.io/odpi/doc/installation.html#windows for help
当我单击消息中显示的链接时,它要求我运行一些 .exe 文件。这个文件要做什么?
解决方案
您需要确保 Python、cx_Oracle 和 Oracle 客户端库都是相同的 64 位或 32 位架构。这听起来像你有一个不匹配。
错误中给出的链接用于 HTML 文档;它不运行 exe 文件。该文档提到需要一个 VS Redistributable - 这是一个 exe 文件。这是 Oracle Instant Client 所需的 Microsoft 软件包。
推荐阅读
- c# - 将文本放在单击的菜单项上
- javascript - node_modules/angular2-hotkeys/lib/hotkey.model.d.ts(24,9) 中的错误:错误 TS1086:无法在环境上下文中声明访问器
- python - 如何确定 Seaborn 线图中 y 轴的比例范围
- octobercms - 如何在 octobercms 的页面上包含 php 代码?
- python - 我如何最好地优化我的参数、激活选择、优化器等。在 LSTM 中?
- javascript - 在 javascript 中读取 webconfig 应用程序设置时出错
- angular - 角材料自动完成滚动问题
- ruby-on-rails - 依赖设置为销毁,改为无效
- elasticsearch - 仅创建索引的弹性特权
- hololens - 如何使 Hololense 2 的显示屏正常工作?