zoukankan      html  css  js  c++  java
  • python -- 连接 orclae cx_Oracle的使用

     # 如果报错参考的资料

    https://blog.csdn.net/white_xuqin/article/details/82878860

    场景再现:

    python-cx_oracle报错"DatabaseError: DPI-1047: 64-bit Oracle Client library cannot be loaded: "

    解决方案:

    一、检查本地是否安装Oracle,如果安装,检查版本是否和python一样都,都是64位。

    二、如果本地没有安装Oracle,则需要安装。一下为安装方式:

    我们考虑安装Oracle Instant Client(轻量级客户端,占用空间极少)

    安装包下载地址:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html

    下载instantclient-basic-windows.x64-11.2.0.4.0(或者相近的版本)即可

    具体安装步骤:

    1、将下载的压缩包,放到目录 E:Oracle下,解压,生成instantclient_11_2文件夹,即:E:Oracleinstantclient_11_2

    2、修改系统变量

    1> 将E:Oracleinstantclient_11_2添加到系统变量PATH中

    2> 新增系统变量

    NLS_LANG=AMERICAN_AMERICA.WE8MSWIN1252   -->> 服务器端字符集

    TNS_ADMIN=E:Oracleinstantclient_11_2       -->> 指定tnsnames.ora所在位置

    注意:修改系统变量之后,要检查一下是否生效,如果没有生效,则多试几次,实在不行则重启电脑。

    3、在E:Oracleinstantclient_11_2 下新建tnsnames.ora配置文件,内容如下:

    orcl =

      (DESCRIPTION =

        (ADDRESS_LIST =

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

        )

        (CONNECT_DATA =

          (SERVER = DEDICATED)

          (SERVICE_NAME = testdb)

        )

      )

    4、重启Pycharm(必须重启,否则还是会报错)
    ---------------------
    作者:white_xuqin
    来源:CSDN
    原文:https://blog.csdn.net/white_xuqin/article/details/82878860
    版权声明:本文为博主原创文章,转载请附上博文链接!

    import cx_Oracle                                                #引用模块cx_Oracle
    conn=cx_Oracle.connect('账号/密码@192.168.***.***:1521/数据库名')    #连接数据库
    
    
    cursor = conn.cursor ()
    
    try:
        # 解析sql语句
        # cursor.parse("select *  dual")
        pass
        # 捕获SQL异常
    except cx_Oracle.DatabaseError as e:
        print(e)   # ORA-00923: 未找到要求的 FROM 关键字
    
    # 执行sql 语句
    cursor.execute ("select * from EKP_PRODUCTIVITY_SL")
    
    
    for row in cursor:
        print(row)
    
    
    
    
    c.close()                                                       #关闭cursor
    conn.close()
  • 相关阅读:
    海尔U+的启发:让用户对智能家居拥有“话语权”
    关于hash和ico的一些关联
    二维码简单介绍
    卡特兰数 大数模板
    C++ Linux 多线程之创建、管理线程
    Objective-c开发教程--MRC和ARC混编
    APP 打包測试流程 从零開始
    hdu4848 求到达每一个点总时间最短(sum[d[i]])。
    表结构变更后出现的ERROR OGG-01161 Bad column index (88)
    【Linux学习】Ubuntu下内核编译(一)
  • 原文地址:https://www.cnblogs.com/baili-luoyun/p/11229521.html
Copyright © 2011-2022 走看看