1、下载格式为whl的cx_Oracle文件

文件名:cx_Oracle‑7.3.0‑cp37‑cp37m‑win_amd64.whl   注意对应cp版本(python版本)

下载地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#cx_oracle 下载到 D:\software

安装步骤:

1)打开anaconda下的Anaconda3 Prompt;

2)更改路径为刚下载的whl文件的文件夹地址:

3)开始安装:命令,pip install cx_Oracle-5.3+oci12c-cp36-cp36m-win_amd64.whl(conda install会提示无法找到)

附pip和conda 安装本地包命令

pip 安装本地包
pip install ~/Dowloads/torch-0.2.0.post3-cp35-cp35m-manylinux1_x86_64.whl

conda 安装本地包
conda install --use-local pytorch-0.4.0-py35_cuda8.0.61_cudnn7.1.2_1.tar.bz2

之后我们list命令执行一下

发现cx-oracle 已在learn环境下安装完成。回到pycharm写入连接oracle代码,报错:

cx_Oracle.DatabaseError: DPI-1047: Cannot locate a 64-bit Oracle Client library: "The specified module could not be found".

出现这个问题首先检查下你的客户端是否为64位,如果正常,则可能是缺少dll文件(如下图)。将上一篇下载的Oracle Instant Client文件夹下所有.dll 文件到D:\software\anaconda和D:\software\anaconda\Lib\site-packages文件夹下(你的anaconda 目录)

这时回到pycharm运行下面代码:

import cx_Oracle#connect参数  用户名、密码、host地址:端口、服务名
conn = cx_Oracle.connect('MOA/moa@17.37.63.87:1521/orcl')
print("连接成功")
curs = conn.cursor()
sql = 'select * from JJFX_SSGQ_KPI'
curs.execute(sql)
for result in curs:print(result)
curs.close()
conn.close()

成功连接并输出查询结果。

常见的增删改查代码示例:

import cx_Oracleconn = cx_Oracle.connect('MOA/moa@17.87.23.37:1521/orcl')
#或conn = cx_Oracle.connect('MOA','moa','17.87.23.37:1521/orcl')
#使用sysdba角色连接
# conn = cx_Oracle.connect('MOA','moa','17.87.23.37:1521/orcl',mode=cx_Oracle.SYSDBA)
curs = conn.cursor()
print("连接成功")
#1 查询
curs.execute('select * from JJFX_SSGQ_GQKPI')
for result in curs:print(result)
#2 查询全部fetchall
curs.execute('select * from JJFX_SSGQ_GQKPI')
print(curs.fetchall())
#3 查询单个
curs.execute('select * from JJFX_SSGQ_GQKPI')
while 1:res = curs.fetchone()if res == None:breakprint(res)
#4 查询多个
# 10个10个输出
curs.execute('select * from JJFX_SSGQ_GQKPI')
resCount=0
while 1:res = curs.fetchmany(10)if res == []:breakprint(res)resCount += 10
#5 参数查询
curs.execute('select * from JJFX_SSGQ_GQKPI where QYNAME = :1',('华数传媒',))
curs.execute('select * from JJFX_SSGQ_GQKPI where QYNAME = :qyname',qyname='华数传媒')
print(curs.fetchall())#6 插入
curs.execute('insert into JJFX_SSGQ_GQKPI values(2019,12,:1,:2,0,0,0,0,0,0)',('000156','华数传媒'))  #sql中使用参数
conn.commit()#7 修改
curs.prepare('update JJFX_SSGQ_GQKPI set MONTH=:month where qycode=:qycode')
curs.execute(None,{'month':12,'qycode':'000156'})
#使用了prepare函数,在execute里面可以不传入sql语句,直接传入参数。
# 注意:这里的第一个参数必须为None
conn.commit()#8 执行多条语句
list1 = [('000411','英特集团'),('000607','华媒控股')]
# list1 = [{'qycode':'000411','qyname':'英特集团'},{'qycode':'000607','qyname':'华媒控股'}]
# curs.prepare('insert into JJFX_SSGQ_GQKPI values(2019,12,:qycode,:qyname,0,0,0,0,0,0)')
curs.prepare('insert into JJFX_SSGQ_GQKPI values(2019,12,:1,:2,:3,0,0,0,0,0,0)')
curs.executemany(None,list1)#第一个参数必须为None
conn.commit()#9 删除
sql = "DELETE FROM JJFX_SSGQ_GQKPI t WHERE t.qycode = :qycode "
curs.prepare(sql)
rown = curs.execute(None, {'qycode' : '000607'})
conn.commit()curs.close()
conn.close()

Python中Oracle的连接、增删改查相关推荐

  1. python操作mysql的增删改查_详解使用pymysql在python中对mysql的增删改查操作(综合)...

    这一次将使用pymysql来进行一次对MySQL的增删改查的全部操作,相当于对前五次的总结: 先查阅数据库: 现在编写源码进行增删改查操作,源码为: #!/usr/bin/python #coding ...

  2. java对数据库的增删改查_在java中对数据库进行增删改查

    代码区域: package com.oracle.jdbc.demo1; import java.sql.Connection; import java.sql.DriverManager; impo ...

  3. oracle经典增删该查,oracle基本语法(增删改查

    <oracle基本语法(增删改查>由会员分享,可在线阅读,更多相关<oracle基本语法(增删改查(7页珍藏版)>请在人人文库网上搜索. 1.安装 PL/SQL Develop ...

  4. 动态网站作业4-JSP中实现数据库的增删改查的操作

    动态网站作业4-JSP中实现数据库的增删改查的操作 用Statement向数据库中添加元素 1.创建JavaBean–UserBean package com.media.bean;public cl ...

  5. Django中数据对象的增删改查常用方法,自定义管理器类,过滤器及F和Q对象等知识点总结

    Django对象的增删改查 我们为了对django对象的增删改查进行总结,先在model.py文件中创建类便于举例 定义学生: class Students(models.Model):sname=m ...

  6. java list集合增删改_Java中集合类list的增删改查

    今天给大家带来的是Java中list类的使用,java.util 包提供了list类来对线性数据操作 List接口是Collection接口的子接口,List有一个重要的实现类--ArrayList类 ...

  7. mysql 中caption_Django-Model操作数据库(增删改查、连表结构)(示例代码)

    Django-Model操作数据库(增删改查.连表结构) 一.数据库操作 1.创建model表 基本结构 from django.db importmodelsclassuserinfo(models ...

  8. python mongodb_python实现mongodb的增删改查

    python实现mongodb的增删改查 环境: 192.168.122.1 python 192.168.122.11 mongodb 一.安装pip,python的管理工具 官网下载: pip-1 ...

  9. python学习笔记 day04 列表增删改查

    写了一个python文件,想在终端中运行:windows+r(或者cmd)输入python+想要运行的py文件所在的目录 即可. pycharm的安装 参考博客: https://www.jiansh ...

  10. 记一些Python(Pymysql)建表、增删改查等基础操作(小白适用)

    1.读取sql文件创建数据表 有一个形如下图的sql文件,使用python读取文件并在数据库中创建所有的表. 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后,不知 ...

最新文章

  1. BERT和ERNIE谁更强?这里有一份4大场景的细致评测
  2. 用树莓派获取天气状况
  3. 关于 jMeter 结果报表里的 APDEX (Application Performance Index)
  4. 训练(线段树+树状数组) poj——3264
  5. Leetcode--164. 最大间距
  6. 其他机器无法访问php,PHP 局域网其他机器无法访问的问题
  7. ListView控件获取选中项的内容 c# 114867417
  8. HAProxy负载均衡代理
  9. 3D数学之快速傅立叶变换(Fast Fourier Transform-FFT)
  10. MySQL 开启慢查询日志
  11. Delphi 7 升级到 Delphi 2010 总结
  12. excel文件工作表保护没有密码进行撤销
  13. windows下的流氓软件删得彻底点
  14. 【重识云原生】第六章容器基础6.4.9.6节——Service 与 Pod 的DNS
  15. 机械硬盘更换成固态硬盘,重做 win10系统
  16. 机器人技术-HC-SR04超声波传感器数据及机器人避障的应用
  17. 2018面试题目总结1
  18. 完全免费的OCR文字识别软件
  19. MaskRCNN-Benchmark框架Assertion 't ** 0 t ** n_classes' failed可能的原因
  20. 使用事件查看器进行windows补丁安装状态确认

热门文章

  1. Obtaining Reliable Human Ratings of Valence, Arousal, and Dominance for 20,000 English Words
  2. 通过百度BAE搭建微信二次开发的服务(2)
  3. PySpark---SparkSQL中的DataFrame(一)
  4. FIL会不会涨,至联云教你看这三点就知道
  5. vue 加载720全景图
  6. 产品经理视角下的中国县城
  7. 【力扣精选】3分钟拿下反转链表所有题型
  8. Allatori混淆器的介绍以及使用方法
  9. 奶爸日记17 - 长兴岛橘子
  10. 【原创纯手打】VUE项目写小米商城官网(附源码)