Python连接Oracle


一、安装版本说明

Python版本:Python-3.7.2
在这里插入图片描述
cx_Oracle版本:cx_Oracle-8.3.0-cp37-cp37m-win_amd64.whl
在这里插入图片描述
Oracle客户端版本:instantclient-basic-windows.x64-11.2.0.4.0.zip
在这里插入图片描述
注意:文章不讲述Python怎么安装!!!

二、安装cx_Oracle

下载地址:官网下载直通车
作者网盘地址:https://pan.baidu.com/s/1qbnUfYczNVHcYBqNBH0koQ
提取码:c7pv
在这里插入图片描述
在搜索框输入:cx_Oracle
在这里插入图片描述
选择cx-Oracle 8.3.0
在这里插入图片描述
点击:Download files
在这里插入图片描述
找到对应版本:
在这里插入图片描述
win+R=运行,然后输入:cmd,最后进入到你下载包存放的盘,然后切换到该盘,使用cd命令切换到准确目录,最后使用pip install 包名,进行安装。
在这里插入图片描述
安装完成后使用:pip list 查看安装结果
在这里插入图片描述

三、安装Oracle客户端

下载地址:官网下载直通车
作者网盘地址:网盘直通车
提取码:v70m
在这里插入图片描述
需要用到Oracle账户和密码,没有就注册又不花钱。
注意事项:下载的版本与你安装的Oracle版本保持一致。

su - oracle  // 切换到Oracle用户
sqlplus / as sysdba    // 使用dba用户登录
select * from v$version   // 查看Oracle版本号

使用以上方法去查看版本。
在这里插入图片描述
解压下载的Oracle客户端压缩包,将解压后的文件复制到PLSQL安装目录下。这里的PLSQL是因为我之前安装了PLSQL,这样配置也方便PLSQL进行连接。
说明:如果没有PLSQL,也可以进行安装。将Oracle客户端存放在一个固定的地方,按照以下步骤进行执行,该修改的地方对照着修改即可。
举例:PLSQL安装在D:\APP_name\PLSQL12,将解压的文件复制在PLSQL12目录下即可!
在这里插入图片描述
打开instantclient_11_2文件:
新建目录“network”,在“network”下面再建立“admin”目录。在linux中把oracle配置文件tnsnames.ora放入admin文件夹中。
即目录结构为:D:\APP_name\PLSQL12\instantclient_11_2\network\admin
在Linux中oracle配置文件tnsnames.ora,可使用find查找:find / -name ‘tnsnames.ora’
查找到文件位置在:/data/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora
使用sz将文件下载到:D:\APP_name\PLSQL12\instantclient_11_2\network\admin目录下。
在这里插入图片描述
修改tnsnames.ora文件中HOST项改为Linux中的IP地址。
在这里插入图片描述
启动PL/SQL Developer之后,打开配置、首选项、连接。
Oracle主目录名称:D:\APP_name\PLSQL12\instantclient_11_2
OCI库:D:\APP_name\PLSQL12\instantclient_11_2\oci.dll
在这里插入图片描述
重新启动PL/SQL就可以连接上ORACLE数据库了。
言归正传:
将D:\APP_name\PLSQL12\instantclient_11_2目录:oci.ll、oraocci11.dll、oraociei11.dll
复制到:D:\Python-3.7\Lib\site-packages(这个目录是安装Python的目录
在这里插入图片描述
此刻重启:PyCharm软件进行编写连接Oracle的代码进行测试。

四、查询Oracle数据

# 导入模块
import cx_Oracle
import pandas as pd

# 连接数据库
db = cx_Oracle.connect('scott','asdzxc','172.66.66.66:1521/ORCL')
# db = cx_oracle.connect('用户名','密码','主机名:端口/实例名'
# 打印数据库版本
print(db.version)

sql1 = 'select * from emp'
sql2 = 'select * from dept'

df1 = pd.read_sql(sql1,db)
df2 = pd.read_sql(sql2,db)
print(df1,'\n',df2)

代码中的pandas可以有也可以没有,如果没有显示的结果比较乱,建议安装一个pandas插件,安装教程直通车
运行执行结果为:
在这里插入图片描述
文章到此就结束了,如有不足之处请您指教~

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

彩虹龙

您的鼓励将是我创作最大的努力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值