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里面出现的中文要用双引号而不能用单引号。。。。
  • 相关阅读:
    WPF中任务栏只显示主窗口
    makefile经典教程
    Linux常见指令大全
    ubuntu下 fdisk用法
    将SD系统启动卡恢复成普通卡
    1、采用SD启动盘bootingLinux
    Soc常见问题
    ARM Linux 3.x的设备树(Device Tree)
    DS-5获取License
    Soc EmbeddedDesign Suite (EDS)13.1.0.162安装
  • 原文地址:https://www.cnblogs.com/fionacai/p/7976860.html
Copyright © 2011-2022 走看看