【1】首先下载驱动:(cx_Oracle)
http://www.python.net/crew/atuining/cx_Oracle/
不过要注意一下版本,根据你的情况加以选择。
【2】安装:
执行那个exe安装程序就可以了,它会copy一个cx_Oracle.pyd到{PYTHON_HOME}Libsite-packages目录下。【3】执行一段测试程序:
importcx_Oracle
cnotallow=cx_Oracle.connect("xjtu_test","37343734","xjtu.world")
cursor=con.cursor()
cursor.close()
con.close()
里边connect中的3个参数从左到右分别是:user, pass, TNS。
那个TNS可以用Oracle客户端工具中的Net Configuration Assistant来配置。
【4】具体的cx_Oracle API可以参考:
http://www.python.net/crew/atuining/cx_Oracle/html/cx_Oracle.html
好了,执行那段测试代码时你肯定遇到问题了,一般会有以下问题:
【1】import cx_Oracle 时报告找不到OCI.DLL:
到装了Oracle的机器上找一个,然后copy到{PYTHON_HOME}Libsite-packages目录下就可以了。
【2】cx_Oracle.connect 时报告RuntimeError: Unable to acquire Oracle environment handle:
这个比较麻烦,按以下步骤来解决:(可能不需要所有的步骤,我没有确认,不过把以下步骤都执行了,确实问题就解决了)
首先,确认你是在控制台下边来执行这个python脚本的。而不是某些ide,例如:PyDev(它们似乎无法载入os的环境变量)。
其实,在本机安装Oracle(只安客户端工具就可以了)。
最后,添加以下环境变量:(我给出我的,换成你自己的路径就可以了)
ORACLE_HOME=D:OracleOra81
PATH=D:OracleOra81bin;{your_other_paths}
完成
四、Visual C++ 6.0
1.New Project -> Win32 Console Application 即新建一个空控制台项目
2.加入编译后的source.c文件
3.在 Tools -> Options -> Directories 添加ProC的lib目录和include目录。
本机目录使用如下:
Library Files
E:ORACLEORA92PRECOMPLIB
Include Files
E:ORACLEORA92PRECOMPPUBLIC
4.在 Project -> Settings -> Link 的 Object/Library modules 中添加ProC的链结文件orasql9.lib,VC会在Project Options自动更新。
5.编译运行
输入错误密码提示:
ORA-01017: invalid username/password; logon denied
连接成功提示:
[OK Connected!]
五、Visual C++ .Net
1.新建项目 -> Visual C++ -> Win32 -> 控制台 即新建一个空控制台项目
2.加入编译后的source.c文件
3.工具 -> 选项 -> 项目 -> VC++ 目录 添加ProC的lib目录和include目录。
本机目录使用如下:
库文件
E:ORACLEORA92PRECOMPLIB
头文件
E:ORACLEORA92PRECOMPPUBLIC
4.选中项目 -> 属性 -> 配置属性 -> 链结器 -> 输入 -> 附加依赖项 添加ProC的链结文件orasql9.lib
5.编译运行
输入错误密码提示:
ORA-01017: invalid username/password; logon denied
连接成功提示:
[OK Connected!]
六、总结
本文只是使用了数据库连接的简单例子,具有实际参考意义的例子可参看:
《ProC动态SQL示例(第1,2,3种方法)》
另外,这方面的教程也很多可以上网搜索一下。在E:oracleora92precompdemoproc也有很多具体实例,十分值得参考,在下文将介绍ProC在Unix/Linux环境下的配置使用。