python3连接oracle 11G数据库

Python连接Oracle数据库

环境说明(保持各个关联环境版本对应非常重要):

系统环境:win10 64位

数据库版本:Oracle 11G  64位

python版本:python 3.7.8 64位

操作步骤

1、安装databaselibrary 库

pip安装,具体安装略

2、安装oracle 客户端

下载oracle客户端需和oracle版本对应

根据本地环境下载的是instantclient-basic-windows.x64-11.2.0.4.0.zip

下载 instant client,地址如下:

Instant Client for Microsoft Windows (x64) 64-bit | Oracle 中国https://www.oracle.com/cn/database/technologies/instant-client/winx64-64-downloads.html

将客户端解压到python根目录,然后添加环境变量(即将客户端文件路径添加到path中,注意末尾加分号)

 

a: NLS_LANG        值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK      为了防止中文乱码
b: ORACLE_HOME     值:C:\Program Files\Python37\instantclient_11_2          ORACLE_HOME下则是ORACLE的命令、连接库、安装助手、listener等等一系列的东东,其实配置这个变量是为了在path中去%ORACLE_HOME%使用,如果没有这个变量也可以,
c: TNS_ADMIN       值:C:\Program Files\Python37\instantclient_11_2\NETWORK\ADMIN   
d:  path            值:C:\Program Files\Python37\instantclient_11_2               为了在哪里都能找到可执行的Oracle客户端下面的可执行程序path 图示

添加tnsnames.ora文件

 

下载地址: https://pan.baidu.com/s/1niTEjK6NbKk5aGGH3cm4eA 提取码: u5u7

3、安装cx_oracle

cx_oracle是一个用来连接并操作Oracle数据库的python扩展模块,支持报错oracle9.2 10.2 11等版本

下载地址:cx-Oracle · PyPIhttps://pypi.org/project/cx-Oracle/

根据实际下载对应系统、python版本的文件,我下载的是cx_Oracle-8.0.1-cp37-cp37m-win_amd64.whl

将下载的.whl文件放于python的Scripts文件

cmd-将目录切换到python的Scripts文件下,输入pip install cx_Oracle-8.0.1-cp37-cp37m-win_amd64.whl

 到此,基本环境安装好了,接下来验证是否可用正常连接oracle数据库

import cx_Oracle
conn = cx_Oracle.connect('zxx/xxl@192.167.10.86:1521/abc')

curs = conn.cursor()

sql = 'select * from product_component_version'

curs.execute(sql)

for result in curs:

    print(result)

curs.close()

conn.close()

 如果在虚拟环境中需要使用,只需要安装 pip install ==8.0.1 cx-Oracle 就可以了,需要指定版本,否则会出问题:尽量不要直接使用pip install cx_Oracle,这样默认安装的是最新版本的cx_Oracle,可能会出现以下错误

1.1 cx_Oracle 报错:cx_Oracle.DatabaseError: DPI-1050: Oracle Client library must be at version 11.2

解决方法:从 https://pypi.python.org/pypi/cx_Oracle/5.3 下载低版本cx_Oracle版本 可以下载cx_Oracle-5.3-11g.win-amd64-py3.6-2.exe ,然后直接安装

备注,下边这一步,没有做也能正常连接,不知道有什么用处:

 将instantclient下所有.dll文件到python\Lib\site-packages\下(我这里的路径为C:\Develop\Anaconda3\Lib\site-packages)

  Python连接Oracle的一些坑以及出现原因和解决方法 - 程序员大本营

python3连接oracle 11G数据库 - 飞奔的小猪猪 - 博客园

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
instantclient-basic-windowsOracle提供的一种客户端软件包,用于在Windows操作系统上连接和访问Oracle数据库。通过下载和安装instantclient-basic-windows,我们可以在本地计算机上使用Oracle数据库的功能。 要下载instantclient-basic-windows,我们可以按照以下步骤进行操作: 1. 打开Oracle官方网站,进入下载页面。 2. 在搜索框中输入"Instant Client",然后点击搜索按钮。 3. 在搜索结果中找到"Instant Client Downloads for Windows"的链接,并点击进入。 4. 在下载页面上,可以看到许多不同版本Instant Client软件包。根据自己的需求,选择适合本地机器的版本。 5. 选择要下载的软件包后,点击相应链接进行下载。 6. 下载完成后,通过双击下载的软件包进行解压缩。将解压缩后的文件夹保存在本地计算机的适当位置。 使用instantclient-basic-windows时,我们还需要进行一些其他的配置和设置: 1. 配置环境变量:打开控制面板,进入系统和安全 > 系统 > 高级系统设置,点击“环境变量”按钮。在系统变量中,找到“Path”变量,点击编辑,将instantclient-basic-windows的安装路径添加到变量值中。 2. 配置tnsnames.ora文件:在instantclient-basic-windows文件夹中找到network\Admin目录,并在该目录下创建一个名为tnsnames.ora的文件。在该文件中,添加要连接数据库实例的连接信息。 通过以上步骤,我们就可以成功下载和配置instantclient-basic-windows。然后,我们可以使用Oracle数据库提供的功能进行连接、查询和管理数据库等操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值