Python cx_Oracle & Oracle Client for Mac OS

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.搞定!

你可能感兴趣的:(Python)