python连接Oracle数据库

查看Oracle版本

  1. select * from v$version

下载对应版本的InstantClient

下载网址

InstantClient

1.解压InstantClient

2.环境变量

3.将其解压目录下的oci.dll、oraocieixx.dll、oraoccixx.dll文件复制到python安装目录的Lib/site-packages文件夹下



安装cx_Oracle驱动包

  1. pip insatll cx_Oracle

Python与Oracle交互操作

  1. #连接
  2. import cx_Oracle
  3. db = cx_Oracle.connect("scott","a123456","192.168.2.1:1521/orcl")
  1. #配置监听并连接
  2. import cx_Oracle
  3. moniter = cx_Oracle.makedsn('192.168.2.1',1521,'orcl')
  4. db = cx_Oracle.connect('scott','a123456',moniter)

查询一条记录

  1. import cx_Oracle
  2. # 注意:一定要加下面这两行代码,负责会中文乱码;
  3. import os
  4. os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'
  5. db = cx_Oracle.connect("scott","a123456","192.168.2.1:1521/orcl")
  6. cursor = db.cursor()
  7. cursor.execute('select count(*) from emp1')
  8. aa = cursor.fetchone()
  9. print(aa)
  10. cursor.execute('select ename,deptno,sal from emp1')
  11. for i in range(aa[0]):
  12. a,b,c = cursor.fetchone()
  13. d = "我的名字叫{},所在部门是{},工资是{}美元".format(a,b,c)
  14. display(d)
  15. db.close()

获取所有记录

  1. import cx_Oracle
  2. # 注意:一定要加下面这两行代码,负责会中文乱码;
  3. import os
  4. os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'
  5. db = cx_Oracle.connect("scott","a123456","192.168.2.1:1521/orcl")
  6. cursor = db.cursor()
  7. cursor.execute('select ename,deptno,sal from emp1')
  8. aa = cursor.fetchall()
  9. # print(aa)
  10. for a,b,c in aa:
  11. d = "我的名字叫{},所在部门是{},工资是{}美元".format(a,b,c)
  12. display(d)
  13. db.close()

转换为DataFrame

  1. import cx_Oracle
  2. import pandas as pd
  3. import os
  4. os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'
  5. db = cx_Oracle.connect("scott","a123456","192.168.2.1:1521/orcl")
  6. cursor = db.cursor()
  7. df1 = pd.read_sql("select * from emp where deptno=20",db)
  8. display(df1)
  9. df2 = pd.read_sql("select * from emp where deptno=30",db)
  10. display(df2)

解决中文乱码问题

  1. 方法一
  2. C:\Users\AA>set nls_lang=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
  1. 方法二
  2. import os
  3. os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'

参考

【python】python连接Oracle数据库的更多相关文章

  1. Python + cx_Orcale 连接Oracle数据库

    这是我在使用python连接Oracle数据库时遇到的问题.在此做一下总结. 1.pip install cx_Oracle 2.然后还需要在下载一个数据库客户端工具instantclient-bas ...

  2. python之连接oracle数据库

    环境: windows,python2.7 1.下载cx_Oracle 在windows下不要使用easy_install或者pip,因为这样安装不会同步环境,并报错: distutils.error ...

  3. python jdbc连接 oracle 数据库

    准备写一个代码生成的小工具自己用,第一步,连接数据库 import jaydebeapi url = 'jdbc:oracle:thin:@192.168.0.13:1521:JGD' user = ...

  4. python:连接Oracle数据库后控制台打印中文为??

    打印查询结果,中文显示为了??? [('72H FCR', '2.0'), ('?????', '8.0')] E:\Python35\Lib\site-packages中新增文件: sitecust ...

  5. Python 连接 Oracle数据库

    1.环境设置 [root@oracle ~]# cat /etc/redhat-release CentOS release 6.9 (Final) [root@oracle ~]# python - ...

  6. Python 连接Oracle数据库

    连接:python操作oracle数据库  python——连接Oracle数据库 python模块:cx_Oracle, DBUtil 大概步骤: 1. 下载模块 cx_Oracle (注意版本) ...

  7. 使用Python编程语言连接MySQL数据库代码

    使用Python编程语言连接MySQL数据库代码,跟大家分享一下: 前几天我用python操作了mysql的数据库,发现非常的有趣,而且python操作mysql的方法非常的简单和快速,所以我把代码分 ...

  8. Python+Pandas 读取Oracle数据库

    Python+Pandas 读取Oracle数据库 import pandas as pd from sqlalchemy import create_engine import cx_Oracle ...

  9. 在python中连接mysql数据库,并进行增删改查

    数据库在开发过程中是最常见的,基本上在服务端的编程过程中都会使用到,mysql是较常见的一种数据库,这里介绍python如果连接到数据库中,并对数据库进行增删改查. 安装mysql的python扩展 ...

随机推荐

  1. H.265

    Baseline支持I/P 帧,只支持无交错(Progressive)和CAVLC一般用于低阶或需要额外容错的应用,比如视频通话.手机视频等: Main支持I/P/B 帧,无交错(Progressiv ...

  2. Linux Red Hat 8.0虚拟机安装过程

    Linux Red Hat 8.0虚拟机安装过程 一.安装虚拟机所需要的工具: 1.VMware Workstation Pro 2.Red Hat 8.0 虚拟机镜像 3.还有一个就是VMware的 ...

  3. 腾讯云服务器ssh登录老是自动断开链接的解决办法

    vim /etc/ssh/sshd_config 找到下面两行 #ClientAliveInterval 0 #ClientAliveCountMax 3 去掉注释,改成 ClientAliveInt ...

  4. Sql语言-操作表

    2. 操作表 1. C(Create):创建 1. 语法: create table 表名( 列名1 数据类型1, 列名2 数据类型2, .... 列名n 数据类型n ); * 注意:最后一列,不需要 ...

  5. python基础练习题(题目 猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少)

    day13 --------------------------------------------------------------- 实例021:猴子偷桃 题目 猴子吃桃问题:猴子第一天摘下若干 ...

  6. UML的三项基础

    UML的定义 UML语义:描述基于UML的精确元模型定义. UML表示法:定义UML符号和文本语法提供标准. 五类模型图 用例视图:用例图 逻辑视图:类图.对象图.包图(我把包放在一起的图) 静态视图 ...

  7. 如何使用 pyqt 实现 Groove 音乐播放器

    前言 Win10 自带了一款很好用的音乐播放器 -- Groove 音乐,但是只能支持本地音乐的播放.2020年3月底到4月底,自己一直在学习 PyQt5,然后从 2020年5月开始,着手使用 PyQ ...

  8. vscode golang 不能自动补全问题

    问题描述: 使用vscode编辑go语言时,有时候会莫名其妙的代码不能自动补全,struct的属性值不能自动提示,这时候如果重新启动vscode也没有效果,就可能是gocode插件出了问题或者有了更新 ...

  9. linux在图形界面一登录就自动闪退

    今天一登录linux图形界面就自动退出了,又退到了登录界面了,密码是正确的. 解决方法如下: 1. 先按 Ctrl + Alt + F1,进入 命令行模式. 2. 在命令行里,输入用户名密码正常登录. ...

  10. 4.26JMetre分离数据、响应断言、动态参数、响应管理

    修改 查询 默认查询 断言: 1.JSON断言 2.响应断言 :实际返回的值是否包含期望的值 参数化 相同的测试步骤,不同的测试数据.比如针对测试平台,使用不同的用户登陆进去来验证产品管理的业务. 在 ...