zoukankan      html  css  js  c++  java
  • python 在 window 系统 连接并操作远程 oracle 数据库

    1,python 连接 oracle 需要 oracle 自身的客户端  instantclient,可以去官网下载自己需要的版本,

    https://www.oracle.com/technetwork/cn/database/features/instant-client/index-092699-zhs.html

    注意, 是选择 x86 还是 x64 取决于你的 python 的位数,而不是 oracle 的位数

    当然,你也可以选择安装完整的 oracle 客户端,具体安装方式墙参考  https://www.cnblogs.com/lovling/p/11301054.html

    2,安装三方库依赖 cx_Oracle 直接使用 pip 安装,方便简单

    pip install cx_Oracle

    3,配置环境变量,将第一步下载的客户端解压到某个位置,将其配置到环境变量中,如下图

    4,一切准备完毕,开始写代码

    # 解决查询出来的数据中文乱码问题
    import os
    os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'
    
    # 访问并操作 ORACLE 数据库
    import cx_Oracle
    
    # 创建数据库连接,参数格式 => 账号/密码/IP:端口/实例名
    conn = cx_Oracle.connect("scott/oracle@192.168.200.100:1521/helowin")
    
    # 获取操作游标
    cu = conn.cursor()
    
    # 执行 SQL 语句,获取结果
    sql = "select * from t_menu"
    result = cu.execute(sql)
    all_data = cu.fetchall()
    
    # 打印数据
    print(all_data)
    
    # 关闭连接
    cu.close()
    conn.close()

    5,如上解决中文乱码问题还可以通过新建 一个环境变量的 方式解决,不需要每个脚本都写两局代码那么麻烦

    6,大坑,如果你是第一次使用该脚本,请重启编译器在启动,否则会报找不到 oracle 客户端,当然如果选择用 cmd 窗口运行则没有问题

    6.1,在 idea 下运行

    6.2,在 cmd 下运行

     

  • 相关阅读:
    最大流问题
    最短路-Floyd算法和Dijkstra算法
    最小生成树-Prim算法
    最小生成树-Kruskal算法
    MP and KMP
    导出excel表格并合并单元格(不按模板导出)
    导出excel表格(按模板导出)
    datatables和template列表查询分页单元格合并
    datatables的使用
    js对象的使用
  • 原文地址:https://www.cnblogs.com/lovling/p/10477370.html
Copyright © 2011-2022 走看看