python使用cx_oracle连接oracle数据库

注意:

1.cx_Oracle无法直接连接oracle,需要调用本地的oracle客户端对oracle进行操作

2.python,cx_Oracle,oracle客户端的位数要一致

步骤:

1.安装python

  可以直接去python官网下载安装程序,也可以下载minconda进行安装,推荐使用minconda。

2.安装cx_Oracle

  可以使用pip,如果安装的是minconda,可以使用conda进行安装

3.安装oracle客户端

  参考:https://cx-oracle.readthedocs.io/en/latest/user_guide/installation.html#id1

下载:https://www.oracle.com/database/technologies/instant-client/winx64-64-downloads.html

下载basic版本的oracle实例客户端即可。尽量下载最新的版本,最新版可以连接11.2及之后的所有数据库(win7不支持19c)

  

  解压:将下载的ZIP文件解压到C:\oracle中(也可以是其他任意位置)

  配置环境变量:PATH中加入DLL文件的路径 C:\oracle\instantclient_19_8

4.测试代码

import cx_Oracle
# cx_Oracle.init_oracle_client(lib_dir=r"D:\oracle\instantclient_19_8")

with cx_Oracle.connect('username', 'password', "host:1521/db",
            encoding="UTF-8") as connection:
    cursor = connection.cursor()
    cursor.execute("insert into test01 (id,name) values (:1,:2)",
            (5,'monkey'))
    connection.commit()

注释的部分,如果第三步没有将客户端加入PATH环境变量,则可以在这里强制指定。