zoukankan      html  css  js  c++  java
  • Python3安装cx_Oracle连接oracle数据库实操总结

    弄清版本,最重要!!!

    首先安装配置时,必须把握一个点,就是版本一致!包括:系统版本,python版本,oracle客户端的版本,cx_Oracle的版本,然后安装配置就容易了!

    如果已经安装Python,查看你安装的Python版本是多少位的:

    当然,你64位的操作系统也是可以安装32位的开发环境。反之则不行!切记!

    oracle客户端的版本,cx_Oracle的版本,要与Python版本和位数对应:

    比如:

    Python版本:Python3.4.3   32位;

    cx_Oracle的版本:cx_Oracle-5.2-11g.win32-py3.4

    oracle客户端的版本:instantclient-basic-win32-11.2.0.1.0;

    这里还有三个注意点:

    版本位数对应,都是32位;

    cx_Oracle和python版本对应,都是3.4;

    cx_Oracle和instantclient版本对应,都是11;   

    再次说明(别嫌我啰嗦,弄明白很重要):比如,我的系统是win7 64位,python版本却是32位的,所以下载安装的Oracle Client 也是32位 11g的,相应的cx_Oracle 也要是32位11g的,当然也要注意python的版,本python2.X还是python3.X,也要下相应的版本的。

    这一点弄明白之后,我们就要准备安装了。

    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服务端。

  • 相关阅读:
    [洛谷P4725]【模板】多项式对数函数
    [洛谷P4841]城市规划
    [洛谷P4346][CERC2015]ASCII Addition
    [洛谷P3978][TJOI2015]概率论
    [洛谷P4656][CEOI2017]Palindromic Partitions
    [洛谷P4889]kls与flag
    [洛谷P3810]【模板】三维偏序(陌上花开)
    [洛谷P2613]【模板】有理数取余
    [bzoj4945][Noi2017]游戏
    [洛谷P4151][WC2011]最大XOR和路径
  • 原文地址:https://www.cnblogs.com/mmz-tester/p/11122165.html
Copyright © 2011-2022 走看看