怎么在Python中使用cx_Oracle模块对甲骨文数据库进行操作

  介绍

本篇文章为大家展示了怎么在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模块对甲骨文数据库进行操作