• python——安装cx_Oracle


    原文:https://blog.csdn.net/Goldxwang/article/details/88805416

    # 切记:一定注意版本问题!!!

    Python操作oracle数据库需要用到cx_Oracle模块所以需要去下载cx_Oracle.

    请注意:下载的cx_Oracle安装文件一定要跟pyhton的位数和版本一致,pyhton的位数最好是跟系统位数一致,不然有可能会出现各种各样的错误

    安装cx_Oracle前请先安装Python 去官网下载Python

    开始安装

    如果跳出下图点是

    现在测试下Python  在cmd命令行下输入 python  如图就成功安装了

    下面贴出下载cx_Oracle的过程图,本文章需要下载文件的连接在文章末尾我会贴出来供大家下载

    开始安装cx_Oracle

    测试cx_Oracle   这时会报出个错误  ImportError: DLL load failed:找不到指定的模块  如下图:

    原因是因为少了某些DLL模块,现在我们解决这个问题:  需要下载oracle的客户端:

    下载过程图:

    下载了之后解压结果如上图的 instantclient_10_2目录,打开此目录将里面的所有的 *.dll文件拷到pyhton安装目录下的Libsite-packages目录下   例:我的路径 C:Python27Libsite-packages

    复制进去之后再次import cx_Oracle就不会报错了,也说明模块安装成功 如下图

    恭喜大家现在可以操作oracle了,如果还在安装的过程中遇到什么问题可以留言给我,我看到会第一时间回复大家!

    连接数据库的常用两种方式
    方式一:用户名、密码和监听写在一起

    import cx_Oracle

    db=cx_Oracle.connect('username/password@host/orcl')

    db.close()

     
    方式二:用户名、密码和监听分开写

    import cx_Oracle

    db=cx_Oracle.connect('username','password','host/orcl')

    db.close()

    下面是Python操作oracle的小示例

    #导入cx_Oracle模块
    import cx_Oracle
    #连接oracle数据库
    conn=cx_Oracle.connect('username/password@host/orcl')
    #创建cursor
    cr = conn.cursor()
    #sql语句  

    sql="select * from "tableName"

    recr = cr.execute(sql)#执行sql语句

    #一次返回所有的结果集使用 fetchall
    results = recr.fetchall()
    for re in results:
        print "结果为: %s " %re
        
    #一次返回一行 fetchone
    while(1):
        re = cr.fetchone()
        if re==None:
            break
        print re
        
    cr.close()
    db.close()

    Python下载链接:https://www.python.org/downloads/windows/

    cx_Orcale 下载链接:https://sourceforge.net/projects/cx-oracle/files/5.1.2/

    instantclient下载链接:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html

    (注:下载instantclient需要注册oracle账户才能下载)

    cx_Oracle安装

    下载地址:https://pypi.python.org/pypi/cx_Oracle/5.3 下载低版本cx_Oracle版本 
    我是下载cx_Oracle-5.3-11g.win32-py3.6.exe,下载后直接双击安装,就ok了。

    不建议直接使用pip install cx_Oracle命令安装,因为版本问题容易报错。cx_Oracle 报错:cx_Oracle.DatabaseError: DPI-1050: Oracle Client library must be at version 11.2,这就是cx_Oracle版本太高引起的。

    oracle 客户端

    下载地址:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html

    把下载的文件解压,复制oci,oraocci11,oraociei11的3个DLL粘贴到你的PY目录的Libs/site-packages文件夹下面。

    python3.4连接oracle数据库测试代码:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    import cx_Oracle

    conn = cx_Oracle.connect('用户名/密码@主机ip地址/orcl')   #用自己的实际数据库用户名、密码、主机ip地址 替换即可

    curs=conn.cursor()

    sql='SELECT * FROM 。。。' #sql语句

    rr=curs.execute (sql)

    row=curs.fetchone()

    print(row[0])

    curs.close()

    conn.close()

      

    配一个ORACLE_HOME的环境变量,指向Instant Client的目录(如果你到这已经可以成功连接orcale数据库了,环境变量这一步不执行也可以,视情况而定):

    到自己想要放的路径下,我的是C:instantclient-basic-win32-11.2.0.1.0instantclient_11_2

    然后是配置环境变量:右键计算机——属性——高级系统设置——环境变量——系统变量——新建

      变量:ORACLE_HOME  值:Q:OracleClient

      变量:TNS_ADMIN       值:Q:OracleClient

      编辑path用';'隔开加一个  Q:OracleClient

    安装结束,整个安装过程非常简单,也是我自己多次失败的总结,希望对你有帮助!

    补充一点:

    oracle数据库服务端版本如果是64位,你的机子上安装的客户端位数是32还是64,都不影响使用。

    本机上不需要安装oracle服务端。

  • 相关阅读:
    BZOJ 2326 数学作业
    BZOJ 4448 情报传递
    BZOJ 4443 小凸玩矩阵
    BZOJ 1852 最长不下降序列
    BZOJ 4373 算术天才⑨与等差数列
    68285
    65656556
    D. Points in rectangle
    恐怖的怪物
    再战斐波那契
  • 原文地址:https://www.cnblogs.com/heymonkey/p/12031730.html
Copyright © 2020-2023  润新知