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()

posted @   阿里纳斯  阅读(105)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示