python3连接oracle19c数据库
主要是用cx_Oracle-8.3.0和oracle19c客户端来进行数据库连接
上传 cx_Oracle-8.3.0.tar.gz
解压 tar -xzvf cx_Oracle-8.3.0.tar.gz
cd cx_Oracle-8.3.0
python3 setup.py install
安装完毕
接下来安装oracle 19c linux 客户端,之前试过很多版本客户端,都不好使,用下面这个
instantclient-basic-linux.x64-19.19.0.0.0dbru.zip
解压
将服务器端的tnsname.ora文件复制一份到解压后的客户端文件的network/admin下
ORCLCDB =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = sjdb)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORCLCDB)
)
)
LISTENER_ORCLCDB =
(ADDRESS = (PROTOCOL = TCP)(HOST = sjdb)(PORT = 1521))
安装libaio包
rpm -ivh libaio-0.3.109-13.el7.x86_64.rpm
rpm -ivh libaio-devel-0.3.109-13.el7.x86_64.rpm
添加动态链接
sh -c "echo /home/oracle/instantclient_19_19 > /etc/ld.so.conf.d/oracle-instantclient.conf"
ldconfig
修改环境变量LD_LIBRARY_PATH
把解压的instantclient_19_8文件夹路径添加到LD_LIBRARY_PATH
[root@sjdb ~]# vi .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
export LD_LIBRARY_PATH=/home/oracle/instantclient_19_19:$LD_LIBRARY_PATH
PATH=$PATH:$HOME/bin
export PATH
这时使用Python3可以连接oracle数据库了
[root@sjdb ~]# python3
Python 3.8.13 (default, May 9 2023, 10:54:33)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> import cx_Oracle
>>> conn=cx_Oracle.connect('xxxx/yyyyyyyy@sjdb:1521/orclpdb1')
>>> conn.close()
>>> exit()
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步