项目主要使用oracle但是我不太喜欢其他编程语言,加上可能需要用python部署算法包,从oracle表中读出数据,处理完成后在放回oracle中去,所以在windows上就想到先用python试一下,自然搜到了cx_oracle(一个按照Python DB API的oracle的实现,如MySQL、PostgreSQL等,只需要安装相应的软件包即可,流程及操作接口都与cx_Oracle基本一致),下面就简单解释一下怎么用这个包进行增删改查。
cx_Oracle 是一个用户访问 Oracle 数据库的 Python 扩展模块。它符合Python数据库API 2.0规范,并增加了相当多的内容和几个排除项。
上节讲了如何安装cx_Oracle,这节讲述如何利用Python 模块cx_Oracle 连接Oracle数据库
使用python连接oracle数据库服务器需要三个软件的位数一致额版本配套(python版本、oracle数据库服务器版本和oracle客户端连接工具版本)
这个专题讲解Python相关方面的内容,首先是运维方面,例如数据库,Linux等,后续会有Web,爬虫等。
Oracle服务端:Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
[root@oracle ~]# cat /etc/redhat-release
我提供的为我自己本地环境,一般都是通用,一致搭建,可以正常使用。 windows 系统 7、10大概都是可以使用。 mac系统 暂无。
Python操作Oracle数据库多用cx_Oracle这个第三方扩展,总体而言,cx_Oracle的使用方式与Python操作MySQL数据库的pymysql库还是很相似的,如果还没有安装,可以通过下面的命令进行安装: $ pip install -i https://pypi.douban.com/simple cx_oracle 使用前导入:
activepython python的windows支持组件【类unix系统都自带的有python组件】下载【百度activepython】
安装setuptools,因为pip依赖setuptools,所以这一步必须先执行(安装使用root用户)
完成了cx_Oracle的安装之后,几乎就可以按照连接MySQL的思路操作Oracle。
Python没有自带oracle驱动,cx_Oracle可以实现Python访问oracle的目的,如果要访问Oracle,首先要下载安装cx_Oracle。下载地址:https://oracle.github.io/python-cx_Oracle/
python连接Oracle数据库的代码,需要引用cx_Oracle库 #coding=UTF-8 import cx_Oracle def hello(): '''Hello cx_Oracle示例: 1)打印数据库版本信息. 2)查询表数据.''' conn = cx_Oracle.connect("obs61","obs61","tx8i.hp") cur = conn.cursor() t
(1)、安装 cx_Oracle Python 包,它是用于连接和操作 Oracle 数据库的驱动程序。
需要的lib库: yum install gcc libffi-devel python-devel openssl-devel
虽然基于命令行+文本编辑可以完成python程序开发,并熟悉操作系统下的命令操作。但是基于集成开发环境的开发能够更有效率。因此选择一个适合的集成开发工具是重要的。最开始的时间也是从命令行+文本编辑来进行开发,这样可以熟悉基本的命令操作。之后本人尝试使用了eclipse+pyDev,pycharm。相对来说,pycharm更加简单。
本案例的Python版本是:python 3.4.3 cx_Oracle #!/usr/bin/env python import time start = time.clock() import cx_Oracle tns = cx_Oracle.makedsn('127.0.0.1', '1534', 'dsn') db = cx_Oracle.connect('username', 'password', tns) def sqlSelect(sql, db): cur=db.cursor
操作系统: win7-32bit python版本:3.7.0 oracle版本:10.2.0
oracle作为最强大的数据库,Python也提供了足够的支持。不过与其他数据库略有不同,oracle的数据库的概念和mysql等完全不一样,所以在使用oracle上的操作也有很大差异。
参考连接:https://cx-oracle.readthedocs.io/en/latest/user_guide/installation.html#oracle-client-and-oracle-database-interoperability
使用python连接oracle数据库; 1.安装python3.0; 2.安装cx_Oracle模块; 3.安装ORACLE_CLIENT ; (ORACLE_CLIENT和python位数保持一致;要么都安装32位要么都用64位)
原因:Python3.5 版本 64 位 oracle11g 32位 sqlplus 32位,连接后,报错如上。需要一个64位的
Redo log(重做日志)是Oracle数据库中用于记录数据库事务操作的一种日志文件。它的主要作用是在数据库发生崩溃或故障时,用于恢复数据库的一致性状态。Redo log文件记录了对数据库进行的所有变更操作,包括插入、更新和删除等操作。
1、cx_Oracle.connect('账号/密码@ip:端口/数据库实例名')
前面两篇文章已经说过将数据存储到SQLite和本地文件中,如果还没有来得及看,可点击如下快速链接:
环境:java,was,python2.6,红帽linux,oracle,python用cx_Oracle 事情是这样的,有个需求,需要对数据库进行处理,简单说就是把数据取出来,用python使用外部传参做一个处理,再写回到数据库。如果使用java直接搞的话需要绕很大一个圈,比较麻烦,用python的话就很简单了,于是就有了下面的故事,希望和我遇到同样问题的同学能对你们有一些帮助,少绕一些圈子,java和python功能开发都很顺利,于是到了java调用python环节
首先安装cx_Oracle,参考博主另一篇文章windows下Python连接Oracle
一位铁杆朋友,今天问了个问题,写了一个Python程序,从文件读取数据,其中可能包含“&”这种特殊字符,为了让其能插入Oracle,需要做什么处理?
再次推荐可先行网上了解下,另外我力求把每期分割的很细,这样好写,希望大家别说我水~
从错误提示ORA-02000: missing ALWAYS keyword看,是SQL语法错误,创建表的时候使用了Always这个关键词。 Always是在Oracle12c的新特性自增序列里用到的,语法如下:
下载地址:http://www.lfd.uci.edu/~gohlke/pythonlibs/
Excel表要写入数据库,毕竟通过pandas来操作复杂的数据还是很有难度的,有多少种数据库,就有多少种数据库引擎,要下载多少python数据库包,同样对Excel写入数据库的操作,可以基于excel按行写入,也可以通过pandas处理,但pandas处理效率不高。
想象如下一个场景,一个合作伙伴想让你分析一下自己的业务数据,比较慷慨的给出了数据全库。但是对方的IT 人员没有经历去协助我们逐个了解数据怎么办呢,这时候就需要进行一些针对数据库的探索性、描述性的数据分析 帮我们更好的了解对方的数据内涵了。
#!/usr/bin/env python #coding:utf-8 # cx_Oracle 用于访问oracle和导出数据 import cx_Oracle # xlsxwriter 用于生成xlsx文件 import xlsxwriter import time import sys # 导入邮件模块 from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart import smtplib
通过查询 V$FIXED_TABLE ,可以列出所有可用的动态性能视图和动态性能表。
我们在做数据分析,清洗的过程中,很多时候会面对各种各样的数据源,要针对不同的数据源进行清洗,入库的工作。当然python这个语言,我比较喜欢,开发效率高,基本上怎么写都能运行,而且安装配置简单,基本上有网的环境pip install全部都搞定,没网的话,把whl包copy过来一行命令也就解决了( windows下python3.5使用pip离线安装whl包)。
运行完脚本后我们查看MySQL数据库,应该可以看到表里应该有数据,而且没有重复数据
本系列文章主要针对ETL大数据处理这一典型场景,基于python语言使用Oracle、aws、Elastic search 、Spark 相关组件进行一些基本的数据导入导出实战,如:
某些环境下, 需要编写脚本实现自动化运维. 比如 自动收集统计信息, 一般是用操作系统的定时任务, 还不需要账号密码, 很方便.
con = cx_Oracle.connect("pythondemo","welcome","192.168.188.11:1521/std1")
环境说明 系统版本 CentOS 7.2 x86_64 软件版本 lepus 3.7
前几天在Python最强王者交流群【粉丝】问了一个pandas数据处理的问题,提问截图如下:
cursor.execute("select name from v import cx_Oracle as cx con = cx.connect('ncc2020_0609', 'sys', '10.10.xx.xx:1521/orcl') # 创建连接 cursor = con.cursor() # 创建游标 cursor.execute("select name from v$datafile;") # 执行sql语句 for i in cursor: # 打印数据 pri
领取专属 10元无门槛券
手把手带您无忧上云