




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Python 连接 Oracle 示例 RedHat 5 5 x86 Python 基础语法参考 Python 基础语法知识 一 cx Oracle Python 连接 Oracle 数据库 需要使用 cx Oracle 包 该包的下载地址 http cx O 下载的时候 注意版本 对不同版本的 Oracle 和平台 都有不同的 cx Oracle root rac1 u01 rpm ivh cx Oracle 5 1 10g py24 1 i386 rpm Preparing 100 1 cx Oracl 100 Linux 平台下 用 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 Oracle 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 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 network jlib export THREADS FLAG native export TEMP tmp export TMPDIR tmp 然后 source 应用一下 二 Python 连 Oracle 的基本操作 2 1 DB 连接和关闭 DB 连接 2 1 1 方法一 用户名 密码和监听 分开写 root rac1 u01 cat db py import cx Oracle db cx Oracle connect system oracle 192 168 2 42 1521 dave print db version db close root rac1 u01 python db py 10 2 0 1 0 2 1 2 方法二 用户名 密码和监听写在一起 root rac1 u01 cat db py import cx Oracle db cx Oracle connect system oracle 192 168 2 42 1521 dave print db version db close root rac1 u01 python db py 10 2 0 1 0 2 1 3 方法三 配置监听并连接 root rac1 u01 cat db py import cx Oracle tns cx Oracle makedsn rac1 1521 dave1 db cx Oracle connect system oracle tns print tns print db version vs db version split print vs if vs 0 10 print This is Oracle 10g db close root rac1 u01 python db py DESCRIPTION ADDRESS LIST ADDRESS PROTOCOL TCP HOST rac1 PORT 15 21 CONNECT DATA SID dave1 10 2 0 1 0 10 2 0 1 0 This is Oracle 10g 2 2 建立 cursor 并执行 SQL 语句 root rac1 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 all 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 telcr execute select from phone where id id or phone tel pr 这里我们将参数作为一个字典来处理的 rs cr fetchall print rs cr execute select from phone where id myid or phone myphone myid 2 myphone这里我们直接写参数 rs cr fetchall print rs cr close db close root rac1 u01 python db py This is Fetchall print all 1 2 print by row 1 2 This is Fetone 1 2 select with parameter 2 2 Python 类型和 Oracle 类型的对应关系 During the fetch stage basic Oracle data types get mapped into their Python equivalents cx Oracle maintains a separate set of data types that helps in this transition The Oracle cx Oracle Python mappings are Oracle cx Oracle Python VARCHAR2 NVARCHAR2 LONG cx Oracle STRING str CHAR cx Oracle FIXED CHAR NUMBER cx Oracle NUMBER int FLOAT float DATE cx Oracle DATETIME datetime datetime TIMESTAMP cx Oracle TIMESTAMP CLOB cx Oracle CLOB cx Oracle LOB 三 一个完成的示例 在这个例子里 我们将用 Python 对 DB 进行一些操作 包括 创建一张表 并插入一些 数据 在修改其中的部分数据 root rac1 u01 cat dave py usr bin python coding utf 8 import cx Oracle import sys import urllib import os def connectDB dbname dave if dbname dave connstr system Oracle 192 168 2 42 1521 dave db cx Oracle connect connstr return db def sqlSelect sql db include select cr db cursor cr execute sql rs cr fetchall cr close return rs def sqlDML sql db include insert update delete cr db cursor cr execute sql cr close mit def sqlDML2 sql params db execute dml with parameters cr db cursor cr execute sql params cr close mit def sqlDDL sql db include create cr db cursor cr execute sql cr close if name main print This is a test python program write by tianlesoftware n os environ NLS LANG SIMPLIFIED CHINESE CHINA UTF8 connect to database db connectDB create a table sql create table dave id number name varchar2 20 phone number sqlDDL sql db insert data to table dave sql insert into dave values 1 tianlesoftwaresqlDML sql db dt id 2 name dave phone 138888888888 id 3 name Oracle phoneid 4 name anqing phonesql insert into dave values id name phone for x in dt sqlDML2 sql x db select the result print this is the first time select the data from dave sql select from dave rs sqlSelect sql db for x in rs print x update data where id 1 change the name to anhui sql update dave set name anhui where id 1 sqlDML sql db select again print n change the nanme to anhui where id equal 1 and select the result sql select from dave rs sqlSelect sql db for x in rs print x delete data where id 3 sql delete from dave where id 3 sqlDML sql db select again print n delete the data where id equal 3 and select the result sql select from dave rs sqlSelect sql db for x in rs print x db close root rac1 u01 python dave py This is a test python program write by tianlesoftware this is the first time select the data from dave 1 tianlesoftware 2 dave 138888888888L 3 Oracle 4 anq
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 智能工厂实施中的风险管理与质量控制
- 优化房地产土地供应实施方案
- 浅谈抗凝药讲课件
- 公司各种费油管理制度
- 公司园区规范停车管理制度
- 公司外出工作餐管理制度
- 数字经济助力绿色发展可持续机制的探索与分析
- 公司直属安装队管理制度
- 公司积分制考核管理制度
- 公司篮球场运营管理制度
- 桥梁养护与加固教案
- 《桥边的老人》公开课教案分享
- 手术患者交接记录单
- 加油站安全隐患排查检查表
- 《饮料总酸度的测定》教学设计
- 固定资产投资统计培训PPT课件
- 河南省天一大联考高一下学期期末数学试题(解析版)
- 广州市登革热疫情应急演练方案
- GB_T 30789.8-2015 色漆和清漆 涂层老化的评价 缺陷的数量和大小以及外观均匀变化程度的标识 第8部分:划线或其他人造缺陷周边剥离和腐蚀等级的评定
- 建设工程项目管理论文范文
- 同步发电机调速系统仿真设计
评论
0/150
提交评论