zoukankan      html  css  js  c++  java
  • linux环境中python连接oracle

    第1章 安装cx_Oracle模块

    安装cx_Oracle须知:

    首先安装配置时,必须把握一个点,就是版本一致!

    包括:系统版本,python版本,oracle客户端的版本,cx_Oracle的版本,然后安装配置就容易了!

    1.1  查看Oracle的版本

    SQL> select  * from  v$version;

    1.2  查看python版本

    [wonders@cm02 ~]$ source activate python36

    (python36) [wonders@cm02 ~]$ python -V

    Python 3.6.10 :: Anaconda, Inc.

    1.3  安装cx_Oracle模块

    (python36) [wonders@cm02 ~]$ python -m pip install -i http://pypi.douban.com/simple --trusted-host pypi.douban.com cx_Oracle

    第2章 安装 oracle客户端

    2.1  文件准备

    oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm

    oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm

    tnsnames.ora

    以上文件存放在了/home/wonders/oracle 目录下

    2.2  安装oracle客户端

    cd /home/wonders/oracle

    $ sudo rpm -ivh oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm

    $ sudo rpm -ivh oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm

    2.3  创建文件夹network/admin

    cd /usr/lib/oracle/11.2/client64

    mkdir –r network/admin

    vi tnsnames.ora

    --DRG----多元线性回归数据库--------------------------------------------

    DRG=

    (DESCRIPTION =

    (ADDRESS_LIST =

    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.93.225)(PORT = 1521))

    )

    (CONNECT_DATA =

    (SERVICE_NAME = orcl)

    )

    )

    2.4  配置oracle环境变量

    1、vi /etc/profile

    2、复制一下的代码放到 profile文件中, wq 保存

    export ORACLE_HOME=/usr/lib/oracle/11.2/client64

    export TNS_ADMIN=$ORACLE_HOME/network/admin

    ##export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

    export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

    export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib

    export PATH=$ORACLE_HOME:$PATH

    3、生效新环境变量,输入下列命令

    source /etc/profile

    (4)测试数据库连接

    sqlplus disease/wonders@DRG

    第3章 python连接oracle测试

    3.1  执行语句

    import os

    import cx_Oracle

    try:

    conn=cx_Oracle.connect('disease/wonders@10.1.93.225:1521/orcl')

    cur = conn.cursor() # 游标操作

    sql="select * from tb_test_dic"

    cur.execute(sql) # 执行sql语句

    cases = cur.fetchall() # 获取数据

    except cx_Oracle.DatabaseError as e:

    print(-1,e) 

    3.2  错误信息libclntsh.so没有找到

    解决方法:

    vim /etc/ld.so.conf

    #末尾追加

    /usr/lib/oracle/11.2/client64/lib #根据你安装oracle版本驱动路径

  • 相关阅读:
    锁:synchronized原理
    锁:synchronized与Lock的区别
    锁:java内存模型JMM(JMM)
    spring:Beanfactory和ApplicationContext、BeanFactory 和 FactoryBean
    锁:synchronized(synchronized保证三大特性、synchronized的特性)
    JS类的继承
    JS类—class
    json数据格式
    软件工程的bug
    软件工程的历史
  • 原文地址:https://www.cnblogs.com/L1-5551/p/13453883.html
Copyright © 2011-2022 走看看