Python 连接 Oracle 示例.docx
《Python 连接 Oracle 示例.docx》由会员分享,可在线阅读,更多相关《Python 连接 Oracle 示例.docx(13页珍藏版)》请在三一办公上搜索。
1、Python 连接 Oracle 示例Python 连接 Oracle 示例 RedHat 5.5 x86 Python 基础语法参考: Python 基础语法知识 一. cx_Oracle Python 连接Oracle 数据库,需要使用cx_Oracle 包。 该包的下载地址:http:/cx-O 下载的时候,注意版本,对不同版本的Oracle 和平台,都有不同的cx_Oracle。 rootrac1 u01# rpm -ivh cx_Oracle-5.1-10g-py24-1.i386.rpm Preparing. # 100% 1:cx_Oracl # 100% Linux 平台下,用
2、root 用户进行安装,并且还需要将一些Oracle 的环境变量添加到root用户的.bash_profile 里。 最简单的方法,就是直接把Oracle 用户的变量copy过来: PATH=$PATH:$HOME/bin export Oracle_BASE=/u01/app/oracle export Oracle_HOME=$ORACLE_BASE/product/10.2.0/db_1 export ORA_CRS_HOME=$Oracle_BASE/product/crs export Oracle_SID=dave1 export PATH=.:$PATH:$HOME/bin:$O
3、racle_HOME/bin:$ORA_CRS_HOME/bin export PATH=$PATH:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin export PATH=$PATH:$Oracle_BASE/common/oracle/bin export Oracle_TERM=xterm export TNS_ADMIN=$Oracle_HOME/network/admin export ORA_NLS10=$Oracle_HOME/nls/data export LD_LIBRARY_PATH=$Oracle_HOME/lib export LD_
4、LIBRARY_PATH=$LD_LIBRARY_PATH:$Oracle_HOME/oracm/lib export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lib:/usr/lib:/usr/local/lib export CLASSPATH=$Oracle_HOME/JRE export CLASSPATH=$CLASSPATH:$Oracle_HOME/jlib export CLASSPATH=$CLASSPATH:$Oracle_HOME/rdbms/jlib export CLASSPATH=$CLASSPATH:$Oracle_HOME/netwo
5、rk/jlib export THREADS_FLAG=native export TEMP=/tmp export TMPDIR=/tmp 然后source 应用一下。 二. Python 连Oracle 的基本操作 2.1 DB连接和关闭DB连接 2.1.1 方法一:用户名,密码和监听 分开写 rootrac1 u01# cat db.py import cx_Oracle db=cx_Oracle.connect(system,oracle,192.168.2.42:1521/dave) print db.version db.close rootrac1 u01# python db.
6、py 10.2.0.1.0 2.1.2 方法二:用户名,密码和监听写在一起 rootrac1 u01# cat db.py import cx_Oracle db=cx_Oracle.connect(system/oracle192.168.2.42:1521/dave) print db.version db.close rootrac1 u01# python db.py 10.2.0.1.0 2.1.3 方法三:配置监听并连接 rootrac1 u01# cat db.py import cx_Oracle tns=cx_Oracle.makedsn(rac1,1521,dave1) d
7、b=cx_Oracle.connect(system,oracle,tns) print tns print db.version vs=db.version.split(.) print vs if vs0=10: print This is Oracle 10g! db.close rootrac1 u01# python db.py (DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=rac1)(PORT=1521)(CONNECT_DATA=(SID=dave1) 10.2.0.1.0 10, 2, 0, 1, 0 This
8、is Oracle 10g! 2.2 建立cursor 并执行SQL语句 rootrac1 u01# cat db.py import cx_Oracle tns=cx_Oracle.makedsn(rac1,1521,dave1) db=cx_Oracle.connect(system,oracle,tns) -创建连接 cr=db.cursor -创建cursor sql=select * from phone cr.execute(sql) -执行sql 语句 print nThis is Fetchall! rs=cr.fetchall -一次返回所有结果集 print print a
9、ll:(%s) %rs print n print by row: for x in rs: print x print nThis is Fetone! cr.execute(sql) while(1): rs=cr.fetchone -一次返回一行 if rs =None:break print rs -使用参数查询 print n select with parameter: pr=id:3,tel:13888888888 cr.execute(select * from phone where id=:id or phone=:tel,pr) -这里我们将参数作为一个字典来处理的 rs
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Python 连接 Oracle 示例

链接地址:https://www.31ppt.com/p-3164719.html