python操作oracle数据库

Posted daisy89

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python操作oracle数据库相关的知识,希望对你有一定的参考价值。

本文主要介绍python对oracle数据库的操作学习

包含:oracle数据库在Windows操作系统下的安装和配置、python需要安装的第三方拓展包以及基本操作的样例学习。

1          Oracle数据库

1.1       Oracle环境配置&客户端连接

1.1.1          下载安装Oracle绿色版客户端instantclient:

到oracle官网下载instantclient basic包,解压缩到E:\ProgramFile\instantclient;

1.1.2          设置环境变量:

  • NLS_lANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK(注意中间有空格,这个如果不设,toad查询中文会是乱码)
  • TNS_ADMIN= E:\ProgramFile\instantclient
  • Path=...;E:\ProgramFile\instantclient

1.1.3     配置tnsnames.tns文件:

在E:\ProgramFile\instantclient下建立文件tnsnames.ora,将下面内容粘贴进该文件:

*** =

  (DESCRIPTION =

    (ADDRESS_LIST =

   (ADDRESS = (PROTOCOL = TCP)(HOST= ***)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVER = DEDICATED)

     (SERVICE_NAME = ***)

    )

  )

注:图中红色部分根据自己需要进行更改。

1.1.4          配置PL/SQL Developer进行连接:

在tools/preference里,oracle-connection选项配置oracle home和oci library:

  • oracle home:E:\ProgramFile\instantclient
  • oci library:E:\ProgramFile\instantclient\oci.dll

 技术分享

配置完成,可以重启 plsql developer,输入正确的用户名和密码就可以连接啦~~~

1.2       python连接oracle数据库

1.2.1          安装cx_Oracle包:

http://cx-oracle.sourceforge.net/  需要注意下版本,根据操作系统和已安装的python版本进行选择

 技术分享

自行选择版本,下载后直接执行即可

 技术分享

 

1.2.2          安装后的验证:

import cx_Oracle没有报错:

 技术分享

备注:如果import cx_Oracle 时报错提示找不到OCI.DLL,解决方法:到装了Oracle的机器上找一个,然后copy到Libsite-packages目录下即可。

1.3       Python连接oracle数据库的基本操作

1.3.1          创建数据库连接connect和关闭数据库连接close

创建数据库连接的三种方式:

方法一:用户名、密码和监听分开写

import cx_Oracle

db=cx_Oracle.connect(‘username/[email protected]/orcl‘)

db.close()

 

方法二:用户名、密码和监听写在一起

import cx_Oracle

db=cx_Oracle.connect(‘username‘,‘password‘,‘host/orcl‘)

db.close()

 

方法三:配置监听并连接

import cx_Oracle

tns=cx_Oracle.makedsn(‘host‘,1521,‘orcl‘)

db=cx_Oracle.connect(‘username‘,‘password‘,tns)

db.close()

 

1.3.2          建立cursor并执行SQL语句:查询、更新、插入、删除

1.3.2.1         创建数据库连接,创建游标cursor,然后执行sql语句,执行完成后,关闭游标,关闭数据库连接

创建连接后,建立cursor,并执行SQL语句

 技术分享

1.3.2.2         插入、更新、删除操作后需要提交commit

技术分享

以上是关于python操作oracle数据库的主要内容,如果未能解决你的问题,请参考以下文章

Python实战之Oracle数据库操作

本文主要介绍python对oracle数据库的操作学习

python_操作oracle数据库

python+sqlalchemy 完成Oracle数据库读写操作

python通过cx_oracle操作数据库过程简单记录

吴裕雄 python oracle操作数据库