龙空技术网

Python操作Oracle数据库

艺赛旗RPA社区 140

前言:

现时看官们对“python怎么连接oracle数据库”可能比较珍视,同学们都需要知道一些“python怎么连接oracle数据库”的相关内容。那么小编同时在网络上搜集了一些对于“python怎么连接oracle数据库””的相关资讯,希望朋友们能喜欢,小伙伴们一起来了解一下吧!

前言

操作系统:Window 10 64位

RPA:IS-RPA 2020.2.0

查看IS-RPA Python版本

由下图可知:

IS-RPA安装在E盘,Python解释器所在的目录在IS-RPA2020 / Python下

Python的版本是Python 3..6.4 32位

下载cx_Oracle第三方库

点击这里下载:下载链接

cpxx,表示适用于Python的版本为xx 带有win32后缀是32位带有amd64后缀是64位

举个栗子:cx_Oracle‑7.3.0‑cp36‑cp36m‑win32.whl 表示适用于Python3.6版本,32位

安装cx_Oracle第三方库

# 安装 1.打开 PowerShell2. 进入 E:\Program Files\IS-RPA2020\Python\Scripts> (这里 IS-RPA 安装在 E 盘)3.  输入以下命令(这里 Oracle 第三方库的位置在 l D:\download\) PS E:\Program Files\IS-RPA2020\Python\Scripts> ..\python.exe .\pip.exe install D:\download\cx_Oracle-7.3.0-cp36-cp36m-win32.whl 

注意:选择对应的Python版本下载cx_oracle第三库

测试连接Python第三方库

conn = cx_Oracle.connect('szxy/123@localhost:1527/orcl') cursor = conn.cursor() result = cursor.execute('''select * from DEPT''') data = cursor.fetchall() print(data)
运行发生异常
cx_Oracle.DatabaseError: DPI-1047: Cannot locate a 32-bit Oracle Client librar:  "E:\Oracle\product\11.2.0\dbhome_1\bin\oci.dll is not the correct architecture". See  for help

发生异常原因是:小编安装是Oracle版本是Oracle 11g 64位的,而Python的版本是32位的。

解决方案

适用于Microsoft Windows 32位的Instant Client下载,下载速度很慢,耐心等待。

将Instantclient-basic-nt-11.2.0.4.0.zip解压,然后将Instantclient-basic-nt-11.2.0.4.0目录下的oci.dll,oraocci11.dll,oraociei11.dll复制到E:\ Program Files \ IS-RPA2020 \ Python \ Lib \ site-packages目录下

重新运行结果集中文乱码

# 原来的 conn = cx_Oracle.connect(g_conn_str,)   # 修改后的 conn = cx_Oracle.connect(g_conn_str, encoding = "UTF-8", nencoding = "UTF-8")

再次运行

标签: #python怎么连接oracle数据库