max os
(
Linux
也适用)环境:
1、 安装 oracle client:
在 http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html 下载需要的 oracleclient ,我的系统是 64 位,所以下的 64 位 max 的版本,要下的名称为: instantclient-basic-macos.x64-11.2.0.3.0.zip;instantclient-sdk-macos.x64-11.2.0.3.0.zip
其它的,可以根据你自己的需求决定。
解压到/ opt/instantclient_11_2, 并进入此目录, ln –s libclntsh.dylib.11.1libclntsh.dylib 及 ln –s libocci.dylib.11.1 libocci.dylib
创建 network/admin 目录,及在此目录下生成你自己的 tnsnames.ora 文件。
Sudo su - root
vim /etc/profile ,在最后增加:
exportORACLE_HOME="/opt/instantclient_11_2"
exportDYLD_LIBRARY_PATH=$ORACLE_HOME
exportLD_LIBRARY_PATH=$ORACLE_HOME
PATH=$PATH:$ORACLE_HOME
保存。
Source /etc/profile
将 instantclient-sdk-macos.x64-11.2.0.3.0.zip 解压出来的 .h 文件全部 copy 到 /usr/include 下
2、 安装 cx_oracle:
下载 cx_Oracle-5.0.4.tar.gz ,并解压。
Python setup.py build
Python setup.py install
在 python 命令行:
import cx_Oracle
con =cx_Oracle.connect(“username","password","tnsname")
cursor = con.cursor()
cursor.execute('select * from tab').fetchone()
打印出: ('ACCESS_CTEST_LOG','TABLE', None) ,果然成功了。
中文乱码问题解决:
>>> import os
>>> os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'
1、 安装 oracle client:
在 http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html 下载需要的 oracleclient ,我的系统是 64 位,所以下的 64 位 max 的版本,要下的名称为: instantclient-basic-macos.x64-11.2.0.3.0.zip;instantclient-sdk-macos.x64-11.2.0.3.0.zip
其它的,可以根据你自己的需求决定。
解压到/ opt/instantclient_11_2, 并进入此目录, ln –s libclntsh.dylib.11.1libclntsh.dylib 及 ln –s libocci.dylib.11.1 libocci.dylib
创建 network/admin 目录,及在此目录下生成你自己的 tnsnames.ora 文件。
Sudo su - root
vim /etc/profile ,在最后增加:
exportORACLE_HOME="/opt/instantclient_11_2"
exportDYLD_LIBRARY_PATH=$ORACLE_HOME
exportLD_LIBRARY_PATH=$ORACLE_HOME
PATH=$PATH:$ORACLE_HOME
保存。
Source /etc/profile
将 instantclient-sdk-macos.x64-11.2.0.3.0.zip 解压出来的 .h 文件全部 copy 到 /usr/include 下
2、 安装 cx_oracle:
下载 cx_Oracle-5.0.4.tar.gz ,并解压。
Python setup.py build
Python setup.py install
在 python 命令行:
import cx_Oracle
con =cx_Oracle.connect(“username","password","tnsname")
cursor = con.cursor()
cursor.execute('select * from tab').fetchone()
打印出: ('ACCESS_CTEST_LOG','TABLE', None) ,果然成功了。
中文乱码问题解决:
>>> import os
>>> os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'