• python之连接oracle数据库


    环境:

    windows,python2.7

    1.下载cx_Oracle

    在windows下不要使用easy_install或者pip,因为这样安装不会同步环境,并报错:

    distutils.errors.DistutilsSetupError: cannot locate Oracle include files in...

    因此下载.exe文件安装

    https://pypi.python.org/pypi/cx_Oracle 下载cx_Oracle-5.2.1-12c.win-amd64-py2.7.exe (md5)

    2. 下载Oracle Instant Client (32-bit)

    只需要下载instantclient-basic-nt-11.2.0.3.0.zip就可以了,其它的都是一些根据不同需要扩展的包。

    下载地址:http://www.oracle.com/technetwork/topics/winsoft-085727.html

    下载后解压到某一路径,并将该路径添加到系统的环境变量,命名为ORACLE_HOME,将ORACLE_HOME添加到path下,否则会报错

    cx_Oracle.InterfaceError: Unable to acquire Oracle environment handle

    3解决中文乱码问题

    3.1设置环境变量(全局,可能对其它Oracle客户端产生影响)

    “计算机”->“系统属性”->“高级系统设置”->“系统属性/高级 选项卡”->“环境变量”->“系统变量”->“新建”->
    变量名:NLS_LANG
    变量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK

    3.2python环境下设置

    import os  

    os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'  #或者os.environ['NLS_LANG'] = 'AMERICAN_AMERICA.AL32UTF8'

    4连接数据库

    import cx_Oracle  

    db = cx_Oracle.connect(username/passwd@host:port/sevicename)  

    cursor = db.cursor()  

    #其他操作  

      

    db.commit()  

    db.close(

    不需要再本机上安装Oracle,也不需要新建NETWORK/ADMIN目录添加tnsnames.ora文件,更不要把oci.dll移到site-packages

  • 相关阅读:
    jdbc preparedstatement 调用存储过程的问题
    httpclient 优化
    httpclient 4种关闭连接
    Cloudstack介绍(一)
    Docker registry私有仓库(七)
    Docker生产实践(六)
    python装饰器
    Docker镜像构建(五)
    python 生成器和迭代器介绍
    Docker数据管理(四)
  • 原文地址:https://www.cnblogs.com/BigFishFly/p/6337014.html
Copyright © 2020-2023  润新知