zoukankan      html  css  js  c++  java
  • Python 连接 Oracle数据库

    1.环境设置

    [root@oracle ~]# cat /etc/redhat-release 

    CentOS release 6.9 (Final)

    [root@oracle ~]# python -V

    Python 2.6.6

    版本:Oracle 12c

     

    2.前提:安装cx_Oracle模块依赖包

    由于使用Python连接Oracle,所以需要下载oracle客户端包

    官网:http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html?ssSourceSiteId=otncn

    oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm

    oracle-instantclient12.1-devel-12.1.0.2.0-1.x86_64.rpm

    oracle-instantclient12.1-sqlplus-12.1.0.2.0-1.x86_64.rpm

    1
    [root@oracle ~]# rpm - ivh oracle-instantclient12.1-*

     

    3.设置环境变量

    [root@oracle ~]# cat ~/.bash_profile 

    1
    2
    export /usr/lib/oracle/12.1/client64/
    export LD_LIBRARY_PATH=/usr/lib/oracle/12.1/client64/lib

     

    4.安装cx_Oracle模块

    官网:https://pypi.python.org/pypi/cx_Oracle

    cx_Oracle-6.2.1.tar.gz 

    1
    2
    [root@oracle ~]# tar -zxvf cx_Oracle-6.2.1.tar.gz 
    [root@oracle cx_Oracle-6.2.1]# python setup.py install

    可能会遇到报错

    error: command 'gcc' failed with exit status 1

    解决方法:

    yum install python-devel

    yum install libevent-devel

     

    5.查看是否可以导入cx_Oracle模块

    [root@oracle ~]# python

    Python 2.6.6 (r266:84292, Aug 18 2016, 15:13:37) 

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

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

    >>> import cx_Oracle

    >>>  #无报错说明成功

     

    6.编写Python连接oracle数据库脚本(oracle用户,因为我这里都是用oracle用户权限安装的)

    [oracle@oracle ~]$ cat py_oracle.py 

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    #!/usr/bin/env python
    #-*- coding: UTF-8 -*-
    import cx_Oracle  #导入模块
    db=cx_Oracle.connect('system/oracle@localhost:1521/ORCL')  #连接user/passwd@host:端口/instance
    cursor = db.cursor() #创建游标对象
    cursor.execute('select sysdate from dual')  #执行命令
    data = cursor.fetchone() #返回值
    print('Database time:%s' % data)  打印输出
    cursor.close()  #关闭游标对象
    db.close()  #关闭数据库

     

    7.执行脚本

    [oracle@oracle ~]$ python py_oracle.py 

    1
    Database time:2018-03-20 20:47:59
  • 相关阅读:
    URAL 1993 This cheeseburger you don't need
    python获取教务管理系统的MM照片
    ZOJ 3175 Number of Containers 分块
    ZOJ 3435 Ideal Puzzle Bobble 莫比乌斯反演
    整理各种线性筛法
    SPOJ 7001 Visible Lattice Points 莫比乌斯反演
    UVA 11997 K Smallest Sums
    HDU 4768 Flyer 二分
    HDU 4135 Co-prime 容斥
    POJ 3468 A Simple Problem with Integers 线段树
  • 原文地址:https://www.cnblogs.com/momoyan/p/9145623.html
Copyright © 2011-2022 走看看