1,python 连接 oracle 需要 oracle 自身的客户端  instantclient,可以去官网下载自己需要的版本,

https://www.oracle.com/technetwork/cn/database/features/instant-client/index-092699-zhs.html

注意, 是选择 x86 还是 x64 取决于你的 python 的位数,而不是 oracle 的位数

当然,你也可以选择安装完整的 oracle 客户端,具体安装方式墙参考  https://www.cnblogs.com/lovling/p/11301054.html

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,大坑,如果你是第一次使用该脚本,请重启编译器在启动,否则会报找不到 oracle 客户端,当然如果选择用 cmd 窗口运行则没有问题

6.1,在 idea 下运行

6.2,在 cmd 下运行

 

 

posted on 2019-03-05 16:00  被遗忘的优雅  阅读(870)  评论(0编辑  收藏  举报