python 在window 系统 连接并操作远程 oracle 数据库

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,配置环境变量,将第一步下载的客户端解压到某个位置,将其配置到环境变量中,如下图

python 在window 系统 连接并操作远程 oracle 数据库

4,一切准备完毕,开始写代码

# 解决查询出来的数据中文乱码问题
import os
os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'

# 访问并操作 ORACLE 数据库
import cx_Oracle

# 创建数据库连接,参数格式 => 账号/密码/IP:端口/实例名
conn = cx_Oracle.connect("scott/[email protected]: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,如上解决中文乱码问题还可以通过新建 一个环境变量的 方式解决,不需要每个脚本都写两局代码那么麻烦

python 在window 系统 连接并操作远程 oracle 数据库

6,大坑,切记运行该脚本一定要在 cmd 窗口下,不要在 ide 等编辑器的环境下运行,否则会报找不到 oracle 客户端,因为这个笔者弄了一下午

6.1,在 idea 下运行

python 在window 系统 连接并操作远程 oracle 数据库

6.2,在 cmd 下运行

 python 在window 系统 连接并操作远程 oracle 数据库