1,python 连接 oracle 需要 oracle 自身的客户端 instantclient,可以去官网下载自己需要的版本,
https://www.oracle.com/technetwork/cn/database/features/instant-client/index-092699-zhs.html
注意, 是选择 x86 还是 x64 取决于你的 python 的位数,而不是 oracle 的位数
2,安装三方库依赖 cx_Oracle 直接使用 pip 安装,方便简单
pip install cx_Oracle
3,配置环境变量,将第一步下载的客户端解压到某个位置,将其配置到环境变量中,如下图
4,一切准备完毕,开始写代码
# 解决查询出来的数据中文乱码问题 import os os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8' # 访问并操作 ORACLE 数据库 import cx_Oracle # 创建数据库连接,参数格式 => 账号/密码/IP:端口/实例名 conn = cx_Oracle.connect("scott/oracle@192.168.200.100:1521/helowin") # 获取操作游标 cu = conn.cursor() # 执行 SQL 语句,获取结果 sql = "select * from t_menu" result = cu.execute(sql) all_data = cu.fetchall() # 打印数据 print(all_data) # 关闭连接 cu.close() conn.close()
5,如上解决中文乱码问题还可以通过新建 一个环境变量的 方式解决,不需要每个脚本都写两局代码那么麻烦
6,大坑,切记运行该脚本一定要在 cmd 窗口下,不要在 ide 等编辑器的环境下运行,否则会报找不到 oracle 客户端,因为这个笔者弄了一下午
6.1,在 idea 下运行
6.2,在 cmd 下运行