【发布时间】:2013-12-26 15:31:54
【问题描述】:
我正在尝试在 python 中使用cx_Oracle 模块来访问远程数据库并在表中插入或删除行。顺便说一句,我已经下载了 oracle 即时客户端 11.1 以及 odbc 和 sqlplus 版本。我已经将环境变量ORACLE_HOME 和TNS_ADMIN 设置到了我在那里解压缩文件并将这个目录添加到PATH 变量的目录中。当我用谷歌搜索时,我认为应该有一些 .ora 文件,但我找不到它们。
我可以从命令行使用sqlplus 命令,但我的主要问题是我无法安装和使用cx_Oracle。我不想使用任何命令行脚本;我只想使用cx_Oracle 作为 API。
谁能给我一个完整的解释,我真的被困在那里了。这方面的所有文件都含糊不清。最好的问候。
编辑 1:
我用python setup.py install和python setup.py build --compiler=mingw32命令尝试了cx_Oracle的源码包。我没有再次收到 oracle 错误,但我收到了 command 'gcc' failed 错误。我尝试了 MinGW 编译器并编辑了环境变量 PATH 以包含 MinGW 安装目录(例如 C:\MinGW);我还安装了 Microsoft Visual C++(版本 2005、2008 和 2010);但我仍然得到错误。
编辑 2:
由于@jpmc26 提到了tnsnames.ora 文件,我决定补充一点,我已尝试制作tnsnames.ora 和sqlplus.ora 文件并将它们放在目录C:\oracle\instant_client_11_1\network\admin 中;但是当我用谷歌搜索时,我意识到如果你使用cx_Oracle.connect(username, password, cx_Oracle.makedsn(ip, port, sid)) 命令,你可以跳过.ora 文件。 cx_Oracle.makedsn 将自己构建结构。
【问题讨论】:
标签: python windows oracle11g cx-oracle