返回顶部
首页 > 资讯 > 后端开发 > Python >怎么实现Python连接Oracle
  • 427
分享到

怎么实现Python连接Oracle

2023-06-02 00:06:46 427人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

本篇内容介绍了“怎么实现python连接oracle”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一:安装Python 3.6环境设置lin

本篇内容介绍了“怎么实现python连接oracle”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

一:安装Python 3.6

环境设置

linux:Centos 6.7

Python:Python 3.6 

DB:Oracle 19C 

新增oracle用户

名字可随便取,脚本都放该用户下

[root@jumplinux01 ~]# useradd oracle

[root@jumplinux01 ~]# passwd oracle

新建安装目录

[root@jumplinux01 ~]# su - oracle

[oracle@jumplinux01 ~]$ mkdir softwore

[oracle@jumplinux01 ~]$ cd softwore/

[oracle@jumplinux01 softwore]$ 

安装Python3.6

由于系统安装完成后Python的版本为2.6,需先升级至3.6

[oracle@jumplinux01 softwore]$ python

Python 2.6.6 (r266:84292, Jul 23 2015, 15:22:56) 

[GCC 4.4.7 20120313 (Red Hat 4.4.7-11)] on linux2

Type "help", "copyright", "credits" or "license" for more infORMation.

>>> 

下载安装文件并解压

[oracle@jumplinux01 softwore]$ wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tgz

[oracle@jumplinux01 softwore]$ ll -rth

total 22M

-rw-rw-r-- 1 oracle oracle 22M Mar 21  2017 Python-3.6.1.tgz

[oracle@jumplinux01 softwore]$ tar -zxvf Python-3.6.1.tgz 

[oracle@jumplinux01 softwore]$ cd Python-3.6.1

创建Python安装目录

[root@jumplinux01 ~]#mkdir /usr/local/python36

[root@jumplinux01 ~]# chown oracle.oracle /usr/local/python36 -R

[root@jumplinux01 ~]# su - oracle

[oracle@jumplinux01 ~]$ cd softwore/Python-3.6.1

[oracle@jumplinux01 Python-3.6.1]$ ./configure --prefix=/usr/local/python36

[oracle@jumplinux01 Python-3.6.1]$ make

[oracle@jumplinux01 Python-3.6.1]$ make install 

修改链接

[root@jumplinux01 ~]# mv /usr/bin/python /usr/bin/python_old

[root@jumplinux01 ~]# ln -s /usr/local/python36/bin/python3.6 /usr/bin/python

[root@jumplinux01 ~]# su - oracle

验证是否安装成功

[oracle@jumplinux01 ~]$ python

Python 3.6.1 (default, Mar 16 2020, 21:33:03) 

[GCC 4.4.7 20120313 (Red Hat 4.4.7-23)] on linux

Type "help", "copyright", "credits" or "license" for more information.

>>> 

yum问题处理

升级完之后yum会无法使用 这时需要修改yum可执行文件文件

问题:

[root@jumplinux01 ~]# yum list

  File "/usr/bin/yum", line 30

    except KeyboardInterrupt, e:

                            ^

SyntaxError: invalid syntax

处理:

[root@jumplinux01 ~]# vim /usr/bin/yum 

#!/usr/bin/python2.6

[root@jumplinux01 ~]# yum list

Loaded plugins: fastestmirror

Determining fastest mirrors

 * base: mirrors.aliyun.com

 * extras: mirrors.aliyun.com

 * updates: mirrors.aliyun.com

...

二:cx_Oracle模块的安装

这节包含 oracle客户端的安装和cx_Oracle模块的安装两部分

环境设置

Linux系统为 Centos 6.7

Python环境为 Python 3.6

Oracle 模块:cx_Oracle

Oracle客户端:Oracle 12c Instant Client

1. 安装Oracle 12c Instant Client

由于这次我们使用Python连接Oracle,所以需要oracle客户端,这里我们使用Oracle 12c Instant Client

https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html

[root@jumplinux01 ~]# chown oracle.oracle /home/oracle/softwore -R

[root@jumplinux01 ~]# ll -rth /home/oracle/softwore/

total 73M

-rw-rw-r--  1 oracle oracle  22M Mar 21  2017 Python-3.6.1.tgz

drwxr-xr-x 18 oracle oracle 4.0K Mar 16 21:34 Python-3.6.1

-rw-r--r--  1 oracle oracle 593K Mar 16 22:15 oracle-instantclient12.2-devel-12.2.0.1.0-1.x86_64.rpm

-rw-r--r--  1 oracle oracle  51M Mar 16 22:15 oracle-instantclient12.2-basic-12.2.0.1.0-1.x86_64.rpm

1.1安装Oracle客户端(root用户)

[root@jumplinux01 softwore]# rpm -ivh oracle-instantclient12.2-basic-12.2.0.1.0-1.x86_64.rpm 

[root@jumplinux01 softwore]# rpm -ivh oracle-instantclient12.2-devel-12.2.0.1.0-1.x86_64.rpm 

1.2添加ORACLE_HOME用户环境变量(root用户)

[root@jumplinux01 softwore]# vi ~/.bash_profile 

export ORACLE_HOME=/usr/lib/oracle/12.2/client64

export LD_LIBRARY_PATH=/usr/lib/oracle/12.2/client64/lib

[root@jumplinux01 softwore]# source ~/.bash_profile 

2.下载cx_Oracle模块

专门用于连接Oracle数据的一个模块

https://pypi.org/project/cx-Oracle/5.2.1/#downloads

[root@jumplinux01 softwore]# ll -rth cx_Oracle-5.2.1.tar.gz 

-rw-r--r-- 1 oracle oracle 111K Mar 16 22:23 cx_Oracle-5.2.1.tar.gz

3.安装cx_Oracle模块(root用户)

[oracle@jumplinux01 softwore]$ tar -zxvf cx_Oracle-5.2.1.tar.gz 

[oracle@jumplinux01 softwore]$ cd cx_Oracle-5.2.1

[oracle@jumplinux01 cx_Oracle-5.2.1]$ python setup.py build

[oracle@jumplinux01 cx_Oracle-5.2.1]$ python setup.py install

...

Installed /usr/local/python36/lib/python3.6/site-packages/cx_Oracle-5.2.1-py3.6-linux-x86_64.egg

Processing dependencies for cx-Oracle==5.2.1

Finished processing dependencies for cx-Oracle==5.2.1

验证安装

如import无错误则说明安装成功 

[oracle@jumplinux01 cx_Oracle-5.2.1]$ python

Python 3.6.1 (default, Mar 16 2020, 21:33:03) 

[GCC 4.4.7 20120313 (Red Hat 4.4.7-23)] on linux

Type "help", "copyright", "credits" or "license" for more information.

>>> import cx_Oracle

>>> 

三:使用cx_Oracle连接Oracle(基础篇)

[oracle@jumplinux01 softwore]$ vi connectoracle.py 

#!/usr/bin/python

#coding=utf8

#导入cx_Oracle模块

import cx_Oracle

#创建到Oracle数据库的连接并赋给变量

db=cx_Oracle.connect('cjc/cjc@192.168.2.222:1521/cjcpdb01')

#创建游标并赋给变量cursor

cursor=db.cursor()

#执行Oracle SQL语句

cursor.execute('select sysdate from dual')

#获取执行结果并赋给变量data

#这里fetchone表示获取一行,fetchall为获取所有行

#fetchone返回的是一个字符串

#fetchall返回的是一个列表,哪怕结果只有一行

data=cursor.fetchone()

#打印结果

print ('Database time: %s ' %data)

#关闭数据库连接

cursor.close()

db.close()

运行结果:

错误:

[root@jumplinux01 ~]# su - oracle

[oracle@jumplinux01 ~]$ cd softwore/

[oracle@jumplinux01 softwore]$ python connectoracle.py 

Traceback (most recent call last):

  File "connectoracle.py", line 8, in <module>

    db=cx_Oracle.connect('cjc/cjc@192.168.2.222:1521/cjcpdb01')

cx_Oracle.DatabaseError: ORA-24454: client host name is not set

解决方案:添加hosts

[root@jumplinux01 ~]# cat /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.2.221 jumplinux01

192.168.2.222 cjcos

再次运行结果:

[oracle@jumplinux01 softwore]$ python connectoracle.py 

“怎么实现Python连接Oracle”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: 怎么实现Python连接Oracle

本文链接: https://lsjlt.com/news/228162.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 怎么实现Python连接Oracle
    本篇内容介绍了“怎么实现Python连接Oracle”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一:安装Python 3.6环境设置Lin...
    99+
    2023-06-02
  • mysql oracle python实现连接方法
    下文主要给大家带来mysql oracle python实现连接方法,希望这些内容能够带给大家实际用处,这也是我编辑mysql oracle python实现连接方法这篇文章的主要目的。好了,废话不多说,大...
    99+
    2024-04-02
  • Python中怎么实现MySQL连接池
    本篇文章给大家分享的是有关Python中怎么实现MySQL连接池,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。python编程中可以使用MyS...
    99+
    2024-04-02
  • oracle数据库怎么实现远程连接
    要实现Oracle数据库的远程连接,需要进行以下步骤: 确保Oracle数据库实例已启动并正在运行。 配置Oracle数据库监听器...
    99+
    2024-05-14
    oracle
  • python怎么连接oracle数据库
    要连接Oracle数据库,首先需要安装Oracle客户端,并且安装cx_Oracle模块。然后可以使用以下Python代码连接Ora...
    99+
    2024-04-09
    python oracle
  • Oracle中怎么实现本地数据库连接
    Oracle中怎么实现本地数据库连接,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一:创建数据库表空间和用户名createtablespace...
    99+
    2024-04-02
  • MySQL左连接、右连接、内连接与Hash连接怎么实现
    这篇“MySQL左连接、右连接、内连接与Hash连接怎么实现”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们...
    99+
    2022-11-30
    mysql hash
  • Python中怎么实现数据库连接池
    这篇文章将为大家详细讲解有关Python中怎么实现数据库连接池,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。示例:#-*-coding:utf-8-*-  import ...
    99+
    2023-06-17
  • python 连接oracle(cx_O
    使用python连接oracle数据库;1.安装python3.0;2.安装cx_Oracle模块;3.安装ORACLE_CLIENT ;(ORACLE_CLIENT和python位数保持一致;要么都安装32位要么都用64位) 导入连接or...
    99+
    2023-01-31
    python oracle cx_O
  • MySQL中怎么实现左连接和右连接
    今天就跟大家聊聊有关MySQL中怎么实现左连接和右连接,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。以MySql为例。在MySQL数据库中建立两张数...
    99+
    2024-04-02
  • python连接oracle配置
    环境:操作系统:win7 64位,CPU是inter的pc机Oracle服务端:Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit ProductionOrac...
    99+
    2023-01-31
    python oracle
  • 怎么用sqlplus连接oracle
    要使用SQL*Plus连接Oracle数据库,需要按照以下步骤操作:1. 打开命令行窗口(Windows用户可以使用CMD,Linu...
    99+
    2023-10-09
    sqlplus oracle
  • 怎么用navicat连接oracle
    连接 oracle 数据库使用 navicat:获取连接信息(主机名、端口、服务名、用户名、密码)。在 navicat 中新建 mysql 连接类型。输入连接信息,包括连接名称、主机名/...
    99+
    2024-04-06
    mysql navicat
  • oracle怎么用cmd连接
    使用 cmd 连接 oracle 数据库的步骤:1. 设置 oracle 环境变量(path 中添加 oracle 主目录和 bin 目录);2. 打开 cmd,输入连接命令:sqlpl...
    99+
    2024-05-13
    oracle
  • mysql 中怎么实现外连接
    这篇文章将为大家详细讲解有关mysql 中怎么实现外连接,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。首先my sql 不支持oracle的(+) ...
    99+
    2024-04-02
  • SQL的表连接怎么实现
    这篇“SQL的表连接怎么实现”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“SQL的表连接怎...
    99+
    2024-04-02
  • ADO.NET连接测试怎么实现
    这篇文章主要介绍“ADO.NET连接测试怎么实现”,在日常操作中,相信很多人在ADO.NET连接测试怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”ADO.NET连接测试怎么实现”的疑惑有所帮助!接下来...
    99+
    2023-06-17
  • Mysql怎么实现全外连接
    本文小编为大家详细介绍“Mysql怎么实现全外连接”,内容详细,步骤清晰,细节处理妥当,希望这篇“Mysql怎么实现全外连接”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。MySql中多表查询只提供了内连接,左外连...
    99+
    2023-07-05
  • Python怎么连接Mysql实现图书借阅系统
    这篇“Python怎么连接Mysql实现图书借阅系统”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python怎么连接Mys...
    99+
    2023-06-29
  • oracle怎么修改连接池最大连接数
    要修改Oracle连接池的最大连接数,您需要使用以下步骤: 登录到Oracle数据库的管理工具(如SQL*Plus或SQL De...
    99+
    2024-04-09
    oracle
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作