Oracle的Client端是向下兼容Server端的,
版本12的客户端可以访问版本11的服务端。以此类推。
Mac上的Client端可以直接安装最新版本,点击直达 官网 for mac。
64位和32位安装是一样的。
只需要下载以下文件,放在同一目录下。比如/opt:
- instantclient-basic-macos.x64-12.1.0.2.0.zip
- instantclient-sqlplus-macos.x64-12.1.0.2.0.zip
- instantclient-sdk-macos.x64-12.1.0.2.0.zip
1.解压所有zip
cd /opt
unzip instantclient-basic-macos.x64-12.1.0.2.0.zip
unzip instantclient-sqlplus-macos.x64-12.1.0.2.0.zip
unzip instantclient-sdk-macos.x64-12.1.0.2.0.zip
2.重要步骤
cd instantclient_12_1
ln -s libclntsh.dylib.12.1 libclntsh.dylib
ln -s libocci.dylib.12.1 libocci.dylib
3.添加环境变量 vim ~/.bash_profile
,点击参考vim教程。
export ORACLE_HOME="/opt/instantclient_12_1"
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME
export PATH="/opt/instantclient_12_1:$PATH"
让新加入的PATH立即生效 source ~/.bash_profile
把tnsnames.ora放到instantclient_12_1/network/admin路径下。
自行新建文件夹network和admin文件夹。
4.测试SQL*Plus
sqlplus 用户名/密码@目标机器/表名
5.安装cx_Oracle
pip install cx_Oracle
6.测试Python
# -*- coding: utf-8 -*-
import cx_Oracle
def test_orl(sql):
conn = cx_Oracle.connect('ooo/[email protected]/orcl')
cursor = conn.cursor()
cursor.execute(sql)
results = cursor.fetchall()
conn.close()
return results
if __name__ == '__main__':
sql="select count(*) from t_test"
print(test_orl(sql))
7.搞定!