zoukankan      html  css  js  c++  java
  • python连接oracle数据库

    python连接oracle数据库
    需要oracle客户端的版本,cx_Oracle的版本,要与Python版本和位数对应,都是32位或者64位。


    操作系统:64位
    Python版本:Python3.5.0 64位;
    cx_Oracle的版本:cx_Oracle-5.2.1-11c.win-amd64-py3.5
    oracle客户端的版本:instantclient-basic-win-x86-64-11.2.0.1.0;

    需注意的点:

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

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

    cx_Oracle和instantclient版本对应,都是11;
    cx_oracle和instantclient的版本不必和Oracle数据库版本一致


    Windows:

    1.pip install cx-Oracle==5.2.1

    2.下载并安装oracle-instantclient11.2.x 后解压到指定文件夹,如:D:oracleinstantclient_11_2

    3.将instantclient的oci.dll文件放到$Python_HomeLibsite-packages 目录下,不知道哪几个文件,就把整个解压的文件都复制过去即可


    Mac:
    1.pip install cx_Oracle

    2.下载并安装instantclient-basic-macos.x64-11.2.x
    下载连接 https://www.oracle.com/technetwork/topics/intel-macsoft-096467.html
     我下载的为instantclient-basic-macos.x64-11.2.0.4.0.zip

    将程序包解压缩到应用程序可访问的单个目录中。例如:

    mkdir -p /opt/oracle
    unzip instantclient-basic-macos.x64-12.2.0.1.0.zip
    添加链接$HOME/lib或/usr/local/lib使应用程序能够找到库。例如:

    mkdir ~/lib
    ln -s /opt/oracle/instantclient_12_2/libclntsh.dylib.12.1 ~/lib/
    或者,复制所需的OCI库。例如:

    mkdir ~/lib
    cp /opt/oracle/instantclient_12_2/{libclntsh.dylib.12.1,libclntshcore.dylib.12.1,libons.dylib,libnnz12.dylib,libociei.dylib} ~/lib/
    对于Instant Client 11.2,必须复制OCI库。例如:

    mkdir ~/lib
    cp /opt/oracle/instantclient_11_2/{libclntsh.dylib.11.1,libnnz11.dylib,libociei.dylib} ~/lib/
    如果您打算同定位可选的Oracle配置文件,如tnsnames.ora,sqlnet.ora或oraaccess.xml与即时客户端,然后创建一个network/admin子目录。例如:

    mkdir -p /opt/oracle/instantclient_12_2/network/admin
    这是与此Instant Client链接的应用程序的默认Oracle配置目录

  • 相关阅读:
    Scala依赖注入
    Scala实现树形结构
    Spark GraphX快速入门
    mysql服务自启【Linux】
    Centos7安装mysql5.6
    Scala路径依赖【内部类】
    spark查看DF的partition数目及每个partition中的数据量【集群模式】
    Python自定义异常及抛出异常
    Spark应用【根据新df更新旧df】
    Linux安装JDK
  • 原文地址:https://www.cnblogs.com/annawong/p/10768995.html
Copyright © 2011-2022 走看看