1. 准备
a) 确保已经从Xcode安装了命令行工具
b) 到 Oracle 以下载两个文件
instantclient-basic-1.0.xx-macos-x64.zip
instantclient-sdk-1.0.xx-macos-x64.zip
c) 创建一个目录,我这里是/opt/oracle
d) 将instantclient-basic-1.0.xx-macos-x64.zip解压到以上文件夹,得到/opt/oracle/instantclient_10_2
e) 将instantclient-sdk-1.0.xx-macos-x64.zip里面的sdk目录解压到上面的文件夹,为/opt/oracle/instantclient_10_2/sdk
f) 到sdk目录下把ottclasses.zip解压出来,它会产生一个oracle目录
g) 回到/opt/oracle/instantclient_10_2复制类库文件到当前目录
cp ./sdk/* .
cp ./sdk/includ .
h) 类库OK,设置几个环境变量,编辑/etc/profile
ORACLE_HOME = /opt/oracle/instantclient_10_2
DYLD_LIBRARY_PATH = $ORACLE_HOME
LD_LIBRARY_PATH = $ORACLE_HOME
i) 链接两个文件:
ln -s libclntsh.dylib.10.1 libclntsh.dylib
ln -s libocci.dylib.10.1 libocci.dylib
现在重启机器或者source /etc/profile
2. 安装cx_oracle
下载 cx_Oracle
安装cx_Oracle时我是切换到root完成的安装,否则出现没有权限,有些资料说不需要,反正我没有成功。执行下面命令安装,
python setup.py build
python setup.py install
安装完了之后测试一下cx_Oracle
$ python
>>> import cx_Oracle
可能出错误,找不到符号 _OCIAttrGet,貌似说是MacOS上的Python是64位的而cx_Oracle是32位的,
在运行python命令之前先设置一个值,
$ export VERSIONER_PYTHON_PREFER_32_BIT=Yes
$ python
>>> import cx_Oracle
应该不再报错了。
3. IDE设置
主要是想办法填加以上几个环境变量
ORACLE_HOME = /opt/oracle/instantclient_10_2
DYLD_LIBRARY_PATH = $ORACLE_HOME
LD_LIBRARY_PATH = $ORACLE_HOME
VERSIONER_PYTHON_PREFER_32_BIT=Yes
TextMate可以在设置的shell variables里设置,
aptana 里PyDev->Interpreter Python的Environment里填加
分享到:
相关推荐
这个安装程序会将 cx_Oracle 库添加到你的 Python 安装中,使其可以识别并使用 cx_Oracle 模块。 4. 安装完成后,你可以通过 Python 提示符验证 cx_Oracle 是否正确安装。打开命令行,输入 `python` 进入 Python ...
本文将详细介绍如何在MacOS上使用Python的cx_Oracle库通过这个客户端连接到Oracle数据库。 首先,Oracle Instant Client是Oracle公司提供的一个小型客户端,它包含了与Oracle数据库通信所需的关键组件,如oci.dll、...
本人通过多次尝试最终在macOS Sierra系统自带python(2.7.10)环境下成功安装cx_Oracle 此文档详细描述了全部安装过程!
- **cx_Oracle** 是一个Python模块,它实现了Python数据库API规范(PEP 249)。 - 该接口允许Python代码执行SQL语句和存储过程调用,处理结果集,并管理事务。 - 该模块使用Oracle的客户端库与Oracle数据库交互。 - ...
macOS下Python3使用cx_Oracle连接Oracle数据库失败 sqlalchemy.exc.DatabaseError: (cx_Oracle.DatabaseError) DPI-1047: Cannot locate a 64-bit Oracle Client library: "dlopen(libclntsh.dylib, 1): image not ...
然后,为了让Python找到cx_Oracle所需的库,需要安装cx_Oracle库。在终端中运行: ```bash pip install cx_Oracle ``` 如果遇到找不到依赖的问题,可能需要下载并安装对应版本的Oracle Instant Client SDK,因为cx_...
为了使系统能找到这些库文件,可能还需要配置环境变量,如设置ORACLE_HOME为客户端的安装路径,并添加到PATH中。 接下来,我们需要安装Python的cx_Oracle库。可以使用pip来完成这一操作: ``` pip install cx_...
oci库的使用不仅限于PL/SQL Developer,许多其他应用程序和开发工具,如Java的JDBC驱动、Python的cx_Oracle模块,也依赖oci库来与Oracle数据库进行通信。oci库提供了各种API函数,用于执行SQL语句、处理结果集、管理...
- **验证连接**: 使用支持Oracle的任何语言(如Python的cx_Oracle模块、Java的JDBC驱动等),尝试连接到Oracle数据库,确保配置成功。 3. **功能与组件** - **oci.dll/oci.so**: OCI库,提供C语言的API接口,用于...
它支持ODBC、JDBC、PHP等多种编程接口,使得非Oracle原生的应用程序也能连接到Oracle数据库,例如Python的cx_Oracle库、Java的JDBC驱动等。 在开发环境中,Oracle Instant Client可以显著减少开发和测试系统的体积...
- 对于Python、PHP等语言,可能还需要额外安装适配器(如cx_Oracle、php_oci8等)才能利用Oracle Instant Client进行数据库操作。 5. **优点与适用场景**: - 小巧便捷:无需完整安装Oracle数据库,节省磁盘空间...
Oracle Instant Client可以与Oracle SQL Developer、PL/SQL Developer等数据库管理工具结合使用,也可以作为开发工具如Python的cx_Oracle模块、Java的ojdbc驱动的依赖。 总之,“instantclient-basic-win32-10.1....
DTCTtool基于Python开发,Python作为一门强大的编程语言,拥有丰富的库和社区支持,使得DTCTtool能够轻松地处理各种数据库API,如MySQL的pymysql、PostgreSQL的psycopg2、Oracle的cx_Oracle等。此外,Python的跨平台...