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数据库 - 飞奔的小猪猪 - 博客园

python3连接oracle 11G数据库相关推荐

  1. php ci oracle,CI连接Oracle 11G数据库

    CI框架算是个人最喜欢的PHP框架之一,易用性上没的说,还有完备的中文文档,不过大多数时候是搭配MySQL一起使用. 不过最近接触的一个项目使用的是Oracle 11G数据库,开发前给大家搭环境的时候 ...

  2. 通达oa oracle数据库,通达OA 2016系统连接ORACLE 11g数据库(图文)

    通达OA应该对Oracle是支持的,在数据源里还有ERP数据源的选项有sqlserver和Oracle的选项呢. 使用OA连接Oracle还是需要一些设置的. 1.先下载Oracle的客户端支持程序 ...

  3. 通达OA 2016系统连接ORACLE 11g数据库(图文)

    通达OA应该对Oracle是支持的,在数据源里还有ERP数据源的选项有sqlserver和Oracle的选项呢. 使用OA连接Oracle还是需要一些设置的. 1.先下载Oracle的客户端支持程序 ...

  4. 使用instantclient_11_2和PL/SQL Developer工具包连接oracle 11g远程数据库

    1,先到Oracle网站下载Instant Client : http://www.oracle.com/technology/global/cn/software/tech/oci/instantc ...

  5. python3连接oracle教程,python3连接oracle数据库

    我这里使用的版本是python3.6 64位 ,cx_Oracle-5.3-11g.win-amd64-py3.6-2和instantclient-basic-windows.x64-18.5.0.0 ...

  6. 本机不安装Oracle客户端,使用PL/SQL Developer和 Instant Client 工具包连接oracle 11g远程数据库

    1,先到Oracle网站下载Instant Client : http://www.oracle.com/technology/global/cn/software/tech/oci/instantc ...

  7. Oracle 11g数据库的部署

    一.前言 最近要准备考试了,准备温习下Oracle数据库的相关知识,那么学习Oracle的前提肯定是部署了,目前主流Oracle版本为11g,那么接下来我们就先来一起看下,如何部署Oracle已经对数 ...

  8. oracle 11g 数据库cmd修改用户名密码及创建用户

    oracle 11g 数据库cmd修改用户名密码及创建用户 1. 数据库oracle 11g cmd命令修改用户名和密码 1.1. 前言 1.2. cmd窗口登录oracle 1.3. 更改syste ...

  9. 安装Oracle 11g数据库服务器类

    <Oracle达人修炼秘籍:Oracle 11g数据库管理与开发指南>第3章Oracle 11g数据库的安装,本章将介绍如何在32位系统结构的Windows 7操作系统平台上对Oracle ...

最新文章

  1. 031_spark架构原理
  2. 编程之美初赛第一场--焦距
  3. 让您的开机时间和打开网页速度如飞一样
  4. ubuntu apache2 的负载均衡和反向代理
  5. 高低配系统直流控制电源技术知识点
  6. PowerPoint Storyboarding:Visual Studio 2012 RC带给开发者的秘密杀器
  7. 音视频互动平台--P2P通信技术
  8. java statement 参数_java statement详细用法
  9. android小细节
  10. newtonsoft 数组反序列化_漏洞学习篇之反序列化
  11. java验证码功能一般怎么做的_java制作简单验证码功能
  12. python语义网络图_知识图谱之语义网络篇
  13. 5-6月份线上可靠性、软件测试、信息安全培训
  14. H5页面原生gps 定位获取经纬度
  15. 【教程】Gentoo的安装
  16. ES系列:Cluster state has not been recovered yet, cannot write to the [null] index
  17. 随机游走模型 matlab,随机游走matlab程序
  18. 终于等到了!十位Java架构师整理的“阿里P7”养成计划
  19. 计算机考证模拟运算表案例解析
  20. 获取客户端mac地址 php,js获取客户端mac地址的方法

热门文章

  1. 如果数据库也有一个元宇宙,应该会是什么样子?
  2. 懒人看执行计划神器 for Oracle
  3. 存算分离架构的高斯Redis,用强一致提供可靠保障
  4. 华为高级研究员谢凌曦:下一代AI将走向何方?盘古大模型探路之旅
  5. 关于GaussDB(DWS)的正则表达式知多少?人人都能看得懂的详解来了!
  6. 如何极速极速搭建个人博客?Copy攻城狮用的这一招很优秀!
  7. 云上攻击太多怎么办?不妨试试这些工具
  8. 人脸识别使用base64的方式添加人脸
  9. 华为云教你7天玩转电商应用性能调优,课程免费速来报名!
  10. 【华为云实战开发】10.经典的C++项目怎么在云端开发?