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

    本以为很简单,结果发现还是有些坑啊

    1. 安装cx_oracle

    pip install cx_oracle

    或者用whi文件,这样你能知道版本号那些https://www.lfd.uci.edu/~gohlke/pythonlibs/#cx_oracle 

    2. 下载Instantclient

    这个是关键的一步,一定要对应你的cx_oracle版本,比如上面我是12的,所以下载的instantclient_12_1 然后解压,然后解压将其中的oci.dll拷贝到$Python_Home 或者 $Python_HomeLibsite-packages 目录下,注意一定要版本一致,否则会报ImportError: DLL load failed: 找不到指定的模块。

    3.虽然这样是可以使用cx_Oracle了,但是实际操作数据库的时候可能会出现cx_Oracle.InterfaceError: Unable to acquire Oracle environment handle这个错误,解决方法是拷贝oci.dll, oraociei12.dll, oraocci12.dll到site-package中。另外一种方法是为instantclient12c设置环境变量,这样就不用拷贝dll文件了

    参考博客

    http://blog.csdn.net/longxj04/article/details/64922138 

    import cx_Oracle
    import os
    import sys
    import pandas as pd
    reload(sys)
    sys.setdefaultencoding('utf8')
    os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.AL32UTF8'
    username = '**'
    password = '**'
    tns = '**:**/ORCL'
    conn = cx_Oracle.connect(username,password,tns)
    cursor = conn.cursor()

    cursor.execute('select * from STUDENT')
    result = cursor.fetchall()
    datas = pd.DataFrame(result)
    print datas
    cursor.close()
    conn.close()

    完了又遇到一个很坑的事情,sql里面有中文一直报错,我以为是编码问题,结果是sql里面出现的中文要用双引号而不能用单引号。。。。
  • 相关阅读:
    查看表中bytea类型的字段内容
    Js中生成32位随机id
    VS Code操作指南
    记录一次非常简单的Win10安装
    Typora中下载并安装主题
    Win 10下隐藏任务栏图标B & O Play Audio Control
    IDEA基本使用
    Eclipse中安装反编译器(中文版)
    Eclipse设置控制台不自动弹出
    解决Eclipse控制台中文乱码的情况
  • 原文地址:https://www.cnblogs.com/fionacai/p/7976860.html
Copyright © 2011-2022 走看看