目录
1. 安装 cx_Oracle 模块
2. 安装 oracle 客户端
3. 连接 oracle数据库
连接oracle数据库的过程中遇到很多问题,不过好在一一解决了,特地将解决问题的过程记录下来供友友们参考~
1. 安装 cx_Oracle 模块
具体可参考 PyCharm 安装 cx_Oracle 失败-CSDN博客
安装之后,就可以导入了,具体如图:
2. 安装 oracle 客户端
很多人没有安装oracle客户端直接运行python代码连接oracle,结果就是报错,报错内容如下:
cx_Oracle.DatabaseError: DPI-1047: Cannot locate a 64-bit Oracle Client library
解决方法:
安装oracle客户端
① 由于我的python版本是64bit的,这里oracle我也下载的windows 64bit的,具体版本是18.5中的Basic Package,下载链接如下:
Instant Client for Microsoft Windows (x64) 64-bit
② 下载完之后解压缩:
③ 安装Visual Studio
Visual Studio是安装好oracle 客户端必备的组件。
这里是因为我用的版本为18.5的 oracle客户端,所以需要安装与之相匹配的Visual Studio 2013,下载链接为:Latest supported Visual C++ Redistributable downloads | Microsoft Learn
oracle客户端与visual studio的对应关系如下:
④在python代码中设置 oracle 客户端
import cx_Oracle
cx_Oracle.init_oracle_client(
lib_dir=r"C:\software\Oracle client\instantclient-basic-windows.x64-18.5.0.0.0dbru\instantclient_18_5")
注:oracle 客户端的安装过程可参考官方链接cx_Oracle 8 Installation — cx_Oracle 8.3.0 documentation
3. 连接 oracle数据库
连接oracle数据库可参考代码:
import cx_Oracle
cx_Oracle.init_oracle_client(
lib_dir=r"C:\software\Oracle client\instantclient-basic-windows.x64-18.5.0.0.0dbru\instantclient_18_5")
if __name__ == "__main__":
con =cx_Oracle.connect('用户名', '密码', '10.220.200.40:1521/CISRI_POI_DB') # 创建连接
cursor = con.cursor() # 创建游标
cursor.execute("select * from POI_MATERIAL.V_SLABRECORD_ROLLTIME_STATISTICS") # 执行sql语句
data = cursor.fetchone() # 获取一条数据
print(data) # 打印数据
cursor.close() # 关闭游标
con.close() # 关闭数据库连接
运行上述的代码就能连接oracle数据库,获取数据了:
注:由于我连的不是本地的数据库,所以需要先登录一下vpn账号
Oracle数据库真的没有Mysql数据库好处理啊,相对会麻烦一些,希望友友们都能按照我的方法顺利解决Bug~