本篇文章为大家展示了怎么在Python中使用cx_Oracle模块对甲骨文数据库进行操作,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
<强> 1。下载cx_Oracle 强>
Python的一个官方网站,PyPI上面有丰富的模块.cx_Oracle就可以在PyPI中下载。打开PyPI的网址https://pypi.python.org/pypi,在里面搜索cx_Oracle,即可找到该模块,其下载地址为http://cx-oracle.sourceforge.net/5比灰部梢酝ü渌耐揪断略亍?/p>
下载之后就可以使用了。
<强> 2。使用流程强>
简单的使用流程如下:
①。引用模块cx_Oracle
②。连接数据库
③。获取光标
④。使用光标进行各种操作
⑤。关闭光标
⑥。关闭连接
下面是一个简单的例子:
cx_Oracle.connect(“用户名/,密码@甲骨文服务器IP /,甲骨文的SERVICE_NAME")
获得甲骨文的SERVICE_NAME:
su -甲骨文#切换至甲骨文用户
env | grep甲骨文#查询甲骨文的环境变量
ORACLE_SID=benguo # benguo就是SERVICE_NAME
import cx_Oracle ,,,,,,,,,,,,,,,,,,,, #引用模块cx_Oracle 康涅狄格州=cx_Oracle.connect(& # 39;负载/123456 @localhost ora11g& # 39;),, #连接数据库 c=conn.cursor(),,,,,,,,,,,,,,,,,,,,,, #获取游标 x=c.execute (& # 39; select  sysdate 得到双重# 39;),,,,,,,,,,#使用光标进行各种操作 x.fetchone () c.close(),,,,,,,,,,,,,,,,,,,,,,,,, #关闭游标 conn.close(),,,,,,,,,,,,,,,,,,,,,,, #关闭连接
例子:
#编码:utf - 8 import cx_Oracle def main (): 时间=conn 才能;cx_Oracle.connect(“斑马/zebra@192.168.0.113/benguo") cur 才能=conn.cursor () ,,r=, cur.execute (“select  *,得到userinfo") ,打印 print 才能;r.fetchone () if __name__ ==, & # 39; __main__ # 39;: 以前,,main () ><强> 3。几种用法强>
Python对数据库的操作主要有2个方面:一个是写数据,一个是读数据。这2个方面的实现可以通过SQL语句实现,也可以通过存储过程实现,所以cx_Oracle的主要用法有:
①。执行SQL语句
②。调用存储过程和函数。
<强> 4。执行SQL语句强>
执行SQL语句很简单,从上面的例子就可以看出。使用<代码>游标。执行代码>即可执行。使用fetchone或fetchall即可将执行结果读出来。
下面一个例子是插入语句,使用的变量绑定。
import cx_Oracle 康涅狄格州=cx_Oracle.connect(& # 39;负载/123456 @loaclhost ora11g& # 39;) c=conn.cursor () x=c.execute (& # 39; insert  into 演示(v),值(:1)& # 39;,[& # 39;好# 39;]) conn.commit (); c.close () conn.close ()变量绑定和Oracle的动态SQL一样,都是冒号将占位符,即代码中的:1,对变量的复制就是传入一个列表,即代码中的[& # 39;好# 39;]。有多少个变量,列表中就应该对应多少个值,数目要一致,否则会报错。
执行之后,可以使用连接的一个方法<代码> connect.commit() 代码>,将事务提交。
<强> 5。调用存储过程和方法强>
直接上代码:
——存储过程代码: REPLACE  CREATE ,或是;PROCEDURE  P_DEMO (V1 VARCHAR2,拷贝,V2 OUT VARCHAR2), 开始 V2 才能;:=,V1; 结束;# Python代码: import cx_Oracle 康涅狄格州=cx_Oracle.connect(& # 39;负载/123456 @localhost ora11g& # 39;) c=conn.cursor () str1=& # 39;好# 39; str2=& # 39;,, & # 39; #需要有值,即len (str2)祝辞=len (str1) x=c.callproc (& # 39; p_demo& # 39;, [str1 str2]) 打印(str2) c.close () conn.close ()调用存储过程使用的是<代码>游标。callproc 代码>方法。上面的存储过程中,一个变量的值是出型的,在Python中,对出型的变量赋值,主要该变量的长度不能小于存储过程中的。
——函数代码: REPLACE  CREATE ,或是;function  F_DEMO (V1 VARCHAR2), RETURN VARCHAR2 开始 RETURN 才能,V1; 结束;# Python代码: import cx_Oracle 康涅狄格州=cx_Oracle.connect(& # 39;负载/123456 @localhost ora11g& # 39;) c=conn.cursor () str1=& # 39;好# 39; str2=c.callfunc (& # 39; f_demo& # 39;, cx_Oracle.STRING, [str1]) 打印(str2) c.close () conn.close ()调用函数使用的方法是
怎么在Python中使用cx_Oracle模块对甲骨文数据库进行操作