1、测试环境:

Centos6 X86_64
python 2.6
Oracle 10g

2、安装cx_Oracle 和 Oracle InstantClient:

http://www.rpmfind.net/linux/rpm2html/search.php?query=cx_oracle
http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html

3、编辑当前用户的 .bash_profile, 在文件末尾增加下行:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/oracle/10.2.0.3/client64/lib

命令行执行 source .bash_profile

4、现在就可以用 python 脚本非常轻松的读写Oracle数据库

数据查询示范脚本 select_ora.py

# This script prints the data in Oracle Sample table scott.emp .
# Run with a parameter 'PageSize' in integer form, the output pauses at the end of every page.
# Run without a parameter or the parameter is not in integer form, the output doesn't pasue.
# Like:
# $ python select_ora.py 30
# $ python select_ora.py
#
import sys
import cx_Oracle
try:
intPageSize = int(sys.argv[1])
except:
intPageSize = -1
#print "Please input an integer."
#quit() conn = cx_Oracle.connect('scott/tiger@192.168.150.115/c6115')
cursor = conn.cursor ()
cursor.execute ("select * from emp")
print "EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO"
print "========================================================"
while (1):
row = cursor.fetchone()
if row == None: break
print "%d, %s, %s, %s, %s, %s, %s, %s" % (row[0], row[1], row[2], row[3], row[4],row[5],row[6],row[7])
if intPageSize <> -1 and cursor.rowcount % intPageSize == 0 :
strPress = raw_input( "Row: %d" % cursor.rowcount + ". Press Enter to continue, q to quit..." )
if strPress == 'q': break print "Number of rows returned: %d" % cursor.rowcount
cursor.close ()
conn.close ()

数据插入示范脚本 insert_ora.py

import cx_Oracle
startNum = raw_input("Start Num:")
endNum = raw_input("End Num:") conn = cx_Oracle.connect('scott/tiger@192.168.150.115/c6115')
cursor = conn.cursor()
i = int(startNum)
while (1):
i = i+1
if i > int(endNum):
break
theNum=str(i)
cursor.execute("insert into emp (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO) values("+theNum+",'FORD"+theNum+"','CLERK',7782,'09-JUN-81',2500,0,30)")
conn.commit()
print "Line "+ theNum +" inserted."
cursor.close()
conn.close()

参考: http://blog.csdn.net/kongxx/article/details/7107661

python 读写Oracle10g数据简介的更多相关文章

  1. python 读写json数据

    json 模块提供了一种很简单的方式来编码和解码JSON 数据. 字符串操作 其中两个主要的函数是json.dumps() 和json.loads() ,要比其他序列化函数库如pickle 的接口少得 ...

  2. Python 读写excel数据

    读取excel 文件的数据 import csv with open('D:/mystuff/11.csv','r') as f: reader = csv.reader(f) for row in ...

  3. python操作txt文件中数据教程[1]-使用python读写txt文件

    python操作txt文件中数据教程[1]-使用python读写txt文件 觉得有用的话,欢迎一起讨论相互学习~Follow Me 原始txt文件 程序实现后结果 程序实现 filename = '. ...

  4. Python之读写文本数据

    知识点不多 一:普通操作  # rt 模式的 open() 函数读取文本文件 # wt 模式的 open() 函数清除覆盖掉原文件,write新文件 # at 模式的 open() 函数添加write ...

  5. Python读写文件

    Python读写文件1.open使用open打开文件后一定要记得调用文件对象的close()方法.比如可以用try/finally语句来确保最后能关闭文件. file_object = open('t ...

  6. python处理地理数据-geopandas和pyshp

    这边博客并不是有关geopandas的教程和pyshp的教程! 使用python来处理地理数据有很多相关的包,最近研究需要处理一些地理数据,然而arcgis的arcpy总是不能令人满意.所以这里说说p ...

  7. Python 3.0(一) 简介

    Python 3.0(一) 简介 [目录] 1.简介 2.python特点 3.安装 简介: Python是可以称得上即简单又功能强大的少有的语言中的一种.你将会惊喜地发现,专注于问题的解决方案而不是 ...

  8. python 读写、创建 文件

    python中对文件.文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块. 得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd() 返回指定目录下的所有文件和目 ...

  9. Linux就这个范儿 第15章 七种武器 linux 同步IO: sync、fsync与fdatasync Linux中的内存大页面huge page/large page David Cutler Linux读写内存数据的三种方式

    Linux就这个范儿 第15章 七种武器  linux 同步IO: sync.fsync与fdatasync   Linux中的内存大页面huge page/large page  David Cut ...

随机推荐

  1. 洛谷 P4001 [ICPC-Beijing 2006]狼抓兔子

    题目描述 现在小朋友们最喜欢的"喜羊羊与灰太狼",话说灰太狼抓羊不到,但抓兔子还是比较在行的,而且现在的兔子还比较笨,它们只有两个窝,现在你做为狼王,面对下面这样一个网格的地形: ...

  2. 更改npm默认路径

    Windows下的Nodejs npm路径是appdata,如果你想通过npm在自己指定的路径下去搭建环境,那么就要去nodejs的安装目录中找到node_modules\npm\npmrc文件,修改 ...

  3. 玩转微信2次开发1_交互通信api.php(微擎版)

    在2次开发中,涉及到比较多的也比较繁琐的就是服务器和微信服务器的交互 用户在公众号里操作回复关键词都会让微信服务器和开发者的服务器进行交互 用户一旦关注了某某公众号--微信后台会去查询该公众号是否连接 ...

  4. spring4.x hibernate4.x 整合 ehcache 注解 annotate

    [From] http://my.oschina.net/alexgaoyh/blog/348188

  5. PIE SDK Pansharp融合

    1.算法功能简介 Pansharp 融合是基于最小二乘逼近法来计算多光谱影像和全色影像之间灰度值关系,具体过程是利用最小方差技术对参与融合的波段灰度值进行最佳匹配,以减少融合后的颜色偏差.该融合方法不 ...

  6. TCP协议:三次握手过程详解

    本文通过图来梳理TCP-IP协议相关知识.TCP通信过程包括三个步骤:建立TCP连接通道,传输数据,断开TCP连接通道.如图1所示,给出了TCP通信过程的示意图. 上图主要包括三部分:建立连接.传输数 ...

  7. Android四层架构

    Andrid系统的体系结构设计为多层结构,这种结构在给用户提供安全保护的同时还保持了开放平台的灵活性.如下图所示:   Google官方提供的Android系统的四层架构图 从上到下进行简单介绍: 一 ...

  8. Linux-Xshell5

    Linux-Xshell5 1.下载 2.安装 3.新建会话(连接) 点击新建 需要知道要连接的 IP, 查看命令   ifconfig 配置 名称可以自己命名,主机写要连接的 IP,其他的不能改 输 ...

  9. Oracle RAC集群搭建(zero)--全是报错

    1. 提示Check if the DISPLAYvariable is set.    Failed<<<< 解决方案: #xhost +  //切换到root用户输入 #s ...

  10. Java基础17-成员变量、return关键字和多参方法

    1.成员变量 在类中声明的变量为成员变量 //Dog类 class Dog{ String name;//成员变量 } public class Test1{ public static void m ...