首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用Python操作MySQL和Oracle数据库

Python操作数据库一般使用两种方法,前面使用SQLite时便调用了数据库连接接口,这里也可以使用数据库接口pymysql和cx_Oracle来对数据库操作,但是学习是不断积累的过程,前面已经介绍过类似的方案...好啦,关于SQLAlchemy和MySQL就说这么多了,使用SQLAlchemy过程中可算是遇到了数不清的坑,而且花费两周末都是找不到原因,可怕的是第一次可以,第二次就报错,着实是让我无解,结尾也会放置采坑过程中的链接...通过CMD查看监听状态也是已经启动,使用sqlplus连接到数据库,也可使用工具PLSQL远程连接,需要注意监听状态是否正常以及监听端口是否为默认的1521。 ?...下面通过Python连接,需要借助第三方的cx_Oracle包,使用pip3 install cx_Oracle即可。...MySQL使用pymysql包,Oracle使用cx_Oracle包都能够很好的操作数据库,但要是使用了SQLAlchemy的ORM框架来操作数据库,感觉会遇到无数坑等你跳,还是得认真学习ORM框架,加油

2.9K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Python实现与Oracle数据库交互

    的安装 whl文件的安装 安装Oracle客户端 从官网下载相对应的rpm包,我们一共要下载这么三个包: basic odbc 暴力安装 设置环境变量 编辑tnsname.ora 测试sqlplus是否能够连接成功...用户) 第二步安装pip(安装使用root用户) 离线安装cx_Oracle 从该地址https://pypi.org/project/cx-Oracle/#files下载Python对应版本的whl文件...,我的Python版本2.7,所以下载这个文件 安装 至此,我们的cx_Oracle模块已经安装完毕 cx_Oracle的简单使用 demo.py import cx_Oracle user = '...select * from user_tables; 查看数据库编码 select userenv('language') from dual; Tips 放弃Centos/RedHat 6系列机器吧,cx_Oracle...只支持Python 2.7及以上,6系列机器自带Python 2.6版本,如果重新编译安装Python 2.7的话,yum等等一系列依赖Python的组件得全部搞一遍,光解决这些错误就要浪费无数时间 cx_Oracle

    88710

    windows10,redhat6.5下python3.5.2使用cx_Oracle链接oracle

    1.windows 10 安装cx_Oracle注意事项 前提条件是机器本身安装好oracle client(我的机器已经安装好了),并且,oracle client版本cx_oracle版本,cx_oracle..., 我操作系统的版本是64位,所以上述软件采用的都是64位安装程序。...(期待大牛指导,我还不知道这个是弄啥的) 1.3 使用python模块cx_oracle链接oracle C:\Users\123456>sqlplus -vSQl*Plus: SQL*Plus:...source=navbar 我下载的是最新版的cx_Oracle-5.2.1.tar.gz 2、Oracle_client 使用cx_Oracle必须要安装Oracle_client端,或者你已经安装了...: 在这里需要说明下,你使用哪个帐户装cx_Oracle就需要配置哪个帐户的环境变量,以下已root帐户为例; 如果不配置环境变量、或环境变量配置不正确,在安装cx_Oracle时,会报各种错误

    89530

    Python3操作oracle数据库及遇

    \cx_Oracle-6.0.2-cp36-cp36m-win_amd64.whl 编写一个简单的测试代码: import cx_Oracle as ora # print(ora.version) #...,但无论怎么设置都不能解决问题,在网上也找了类似的错误解决方案,都不能得到解决。...在百度看见一条说系统、oracle客户端、Python要同样是64位或者32位的,不然就报这个错误。...我的电脑系统是64位、Python也是64位的,但是oracle客户端确是32的,这是因为我要连接plsql developer,以前的版本不支持64的客户端。...这样我删除了32位的oracle客户端,重新安装了64位的客户端,结果发现还是会报同样的错误,我就郁闷了,突然灵光一闪环境变量没有配,Python是需要oci.dll文件的,我就在环境变量中做了一下配置

    85610

    使用cx_Oracle连接Oracle(高级篇)

    ---- 关于Python Python可以说是目前运维领域最火的一门语言 在看文章之前最好对Python的语法及数据结构有所了解,具体可在网上搜索Python简明教程或廖雪峰的Python教程观看,暂时不需要了解其高级功能...SQL语句 3.通过读取文件内的内容来执行SQL语句 4.使用Python 捕获程序异常 ---- 使用cx_Oracle获取oracle表空间的使用率 我们新建一个文件,命名为tablespace.sql...可以看到已经获取到了各个表空间的名称 ---- 然后我们故意输入给出错误的连接条件看是否可以捕获异常 我们分别输错密码和tns名称 ?...可以看出已经捕获成功 我们是利用fetchall方法来获取数据的,返回的是一个列表(list),我们可以使用i[0]的方式只取感兴趣的列,如下图我们只获取表空间的名称 只需将代码最后一行改成:print...---- 至此cx_Oracle模块连接oracle(高级篇)已经讲完,下期介绍一些实用的日常运维方面的命令。 后续会讲述如何将得到的数据存入MySQL数据库供日后分析

    1K30

    SqlAlchemy 2.0 中文文档(七十四)

    此外,cx_Oracle 6.x 已删除了发生此错误的任何情况,因此不再可能发生错误。...另外,cx_Oracle 6.x 已经删除了此错误发生的条件,因此不再可能发生此错误。...另外,cx_Oracle 6.x 已经删除了此错误在任何情况下发生的条件,因此该错误不再可能发生。...在 SQLAlchemy 中,该错误可能发生在很少(如果有的话)使用了 auto_convert_lobs=False 选项,并且与之前的 cx_Oracle 5.x 系列一起使用,以及在 LOB 对象可以被消耗之前读取了更多行的情况下...在 SQLAlchemy 中,该错误可能发生在很少(如果有的话)使用了 `auto_convert_lobs=False` 选项,并且与之前的 cx_Oracle 5.x 系列一起使用,以及在 LOB

    40710

    python 解决方法:ImportEr

    前言: 需要安装oracle模块,链接oracle操作;但是服务器没有联网,只能下载tgz包自行安装; 错误: sudo root权限后,进行安装,root用户下可以正常引用;import c x_Oracle...在普通用户下引用则报错 :ImportError: No module named cx_Oracle 解决方案: 1、import sys; sys.path 查看python引用模块的路径;...每次添加一个模块,在sys.path上都会添加一个模块的引用路径;即使模块被添加到 /usr/lib/python2.7/site-packages 或者 /usr/lib64/python2.7/site-packages...2、检查 /usr/lib/python2.7/site-packages 或者 /usr/lib64/python2.7/site-packages 目录下的 .pth 文件;新增包是否已经添加到文件里...; ps:自己写的模块也可以这样添加到系统里; 但是不太建议这样搞,容易混乱; 3、root用户下(或者sudo)sys.path寻找到新装的模块的文件夹;给新模块赋权限;chmod -R

    51210

    大数据ETL实践探索(1)---- python 与oracle数据库导入导出

    之前有一段时间一直在使用python 与oracle 进行交互,具体内容参见: windows下python3 使用cx_Oracle,xlrd插件进行excel数据清洗录入 可以说使用python...---- 1. oracle数据泵 导入导出实战 1.1 数据库创建 本文主要使用最新版本的oracle 12c,如果创建oracle数据库时候使用了数据库容器(CDB)承载多个可插拔数据库(PDB)的模式...,那么数据库的用户名需要用c##开头,使用数据泵进行操作 的时候也有一些不同: 在CDB中,只能创建以c##或C##开头的用户,如果不加c##,则会提示错误“ORA-65096:公用用户名或角色名无效”...的安装 windows10,redhat6.5下python3.5.2使用cx_Oracle链接oracle 其实主要的要点是,不管是windows 平台还是linux 平台,首要任务是安装好oracle...SQL_TO_CSV,死活没法成功执行,只好安装cx_oracle ,用python 导出了,代码如下。

    1.7K40

    如何用Python自动操作数据库?

    我在使用 Python 之前,做数据分析工作的流程,一般是先打开数据库客户端,然后运行一段写好的 SQL 语句,把数据查询出来,然后再把数据复制到 Excel 中并制作报表。...在使用 Python 之后,这些工作都可以变成自动化,从而让我有更多的时间,去思考和解决业务相关的问题,而不是陷入重复使用工具的手动操作。...只有理解了事物的本质和精髓,才能做到游刃有余。要想真正做好一件事,其实离不开长期的刻意练习。 我写的很多文章,在介绍「术」的同时,也希望能够传达「道」的理念,也就是把工具和思维相结合。...__version__ 如果该模块正确安装,就会输出版本号,我目前使用的版本是 1.3.20。...不同的数据库,需要安装不同的第三方模块,比如说,要操作 Oracle,那么通常需要先安装 cx_Oracle: pip install cx_Oracle 2.

    88210

    大数据ETL实践探索(7)---- 使用python 进行oracle 全库数据描述性及探索性逆向分析

    1. cx_Oracle 简介与数据类型 说到python 链接Oracle ,就不得不提到cx_Oracle ,cx_Oracle is a module that enables access to...Oracle - cx_Oracle - Python 映射为: Oracle cx_Oracle Python VARCHAR2 NVARCHAR2 LONG cx_Oracle.STRING...# -- 3.创建用户并指定表空间 -- 刚开始用户名为 ,提示错误ORA-65096:公用用户名或角色名无效,网上查资料,说是取名前缀必须为c##, --所以用户名也变成了c##test --首次创建用户时提示...比如合作伙伴将全库共享,我们如何第一时间通过数据了解合作伙伴的业务情况和设计呢。我想可以通过这样的手段,首先有一个大致的认识,接下来就是进一步看看样例数据的样子了。...缺失值的层次聚类分析,内在逻辑和上面类似,不过是用了不同的算法及展现形式。 missingno.dendrogram(pdf) ?

    78720

    Citrix实施问题及解决方法系列-3

    9、当通过Web客户端登陆XenApp服务器时提示“必须拥有终端服务器用户访问权限”的错误提示,但权限已经都拥有了,这是什么原因?...答:首先检查Windows权限设置方面是否存在问题,若没问题,则看看发布的应用程序名称是否采用了中文名称,更改为英文或数字组合即可。4.5版显示的应用名称可使用中文,4.0版的不行。...答:安装时指定的主机名是小写的,即使输入时看起来是大写的,实际上仍然是小写,需要在安装Win2003完成后,参照10的方法再次修改主机名才可以。 12、如何更改主机名?...答:Win2003下无法使用命令行更改主机名,只能通过鼠标右键点击我的电脑,打开属性,选择计算机名,点击更改按钮,更改“计算机名”为需要的名字(大小写敏感)。...13、当客户端首次关闭时会提示“文件是否保存”,如果选中了“不再询问”后,则以后就都不会再提示,但如果误选择了错误的选项,这样需要手工更改。如何更改?

    1.3K20

    大数据ETL实践探索(1)---- python 与oracle数据库导入导出

    之前有一段时间一直在使用python 与oracle 进行交互,具体内容参见: windows下python3 使用cx_Oracle,xlrd插件进行excel数据清洗录入 可以说使用python...---- 1. oracle数据泵 导入导出实战 1.1 数据库创建 本文主要使用最新版本的oracle 12c,如果创建oracle数据库时候使用了数据库容器(CDB)承载多个可插拔数据库(PDB)的模式...,那么数据库的用户名需要用c##开头,使用数据泵进行操作 的时候也有一些不同: 在CDB中,只能创建以c##或C##开头的用户,如果不加c##,则会提示错误“ORA-65096:公用用户名或角色名无效”...的安装 windows10,redhat6.5下python3.5.2使用cx_Oracle链接oracle 其实主要的要点是,不管是windows 平台还是linux 平台,首要任务是安装好oracle...SQL_TO_CSV,死活没法成功执行,只好安装cx_oracle ,用python 导出了,代码如下。

    1.5K31

    Centos9 Name or service not known

    在 CentOS 9 中,出现 Name or service not known 的错误通常与 DNS 解析或主机名配置有关。...以下是可能的原因及解决方法: 检查网络连接 确认你的机器是否有正常的网络连接: ping 8.8.8.8 如果可以 ping 通,说明网络连接正常,问题可能出在 DNS 配置。...保存后,测试解析: ping www.google.com 检查主机名解析 确保 /etc/hosts 文件中正确配置了本地主机名: cat /etc/hosts 至少应该有类似以下的内容: 127.0.0.1...localhost ::1 localhost 检查主机名配置 查看当前主机名: hostnamectl status 如果主机名设置错误或未解析,修改为有效主机名: sudo hostnamectl...your-hostname 检查防火墙和 SELinux 确认防火墙或 SELinux 没有阻止 DNS 流量: sudo firewall-cmd --list-all sudo getenforce 如果启用了

    19810
    领券