Zei*_*zar 3 python windows cx-oracle oracle11g
我正在尝试cx_Oracle在python中使用模块来访问远程数据库并在表中插入或删除行.BTW我已经下载了oracle即时客户端11.1以及odbc和sqlplus版本.我已经设置了环境变量,ORACLE_HOME并且TNS_ADMIN目录中有解压缩的文件,并将此目录添加到PATH变量中.当我用Google搜索时,我认为应该有一些.ora文件,但我找不到它们.
我可以使用sqlplus命令行中的命令,但我的主要问题是我无法安装和使用cx_Oracle.我不想使用任何命令行脚本; 我只是想cx_Oracle用作API.
任何人都可以给我一个完整的解释,我真的被困在那里.该领域的所有文件都含糊不清.最好的祝福.
编辑1:
我尝试使用cx_Oraclewith python setup.py install和python setup.py build --compiler=mingw32命令的源包.我没有再次得到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; 但是当我用Google搜索时,我意识到如果你使用cx_Oracle.connect(username, password, cx_Oracle.makedsn(ip, port, sid))命令,你可以跳过.ora文件.cx_Oracle.makedsn会使结构本身.
我尝试了很多方法来最终解决问题.既然我认为我应该写一个全面的答案,我会分别写下我面临的问题和解决方案; 希望它可以帮助别人.我还将问题的名称改为适当的名称.这是我cx_Oracle在Windows 7 中安装模块时遇到的问题- 32位版本(我认为其他版本的Windows会有类似的解决方案,但我不确定):
我试图安装cx_Oracle使用easy_install,我得到了错误No oracle client installed.我从Oracle官方网站下载了oracle基本即时客户端和oracle sdk即时客户端,并通过以下步骤安装:
将oracle基本即时客户端解压缩到目录中
C:\oracle\instant_client_11_1\.解压缩oracle sdk即时客户端并将文件夹复制
sdk到目录中C:\oracle\instant_client_11_1\,因此我们有一个目录为C:\oracle\instant_client_11_1\sdk\.添加
C:\oracle\instant_client_11_1\到PATH环境变量的末尾.添加一个名为的新变量
ORACLE_HOME并C:\oracle\instant_client_11_1\为该值设置.重启电脑.
我试图再次cx_Oracle使用安装easy_install,我得到错误command ‘gcc’ failed: no such file or directory,在某些情况下unable to find vcvarsall.bat; 这是因为我没有C++编译器,所以我按照这些步骤来解决它:
下载Microsoft Visual C++并进行安装.
下载MinGW并安装它; 请注意,您必须安装GCC模块.
添加
C:\MinGW\和C:\MinGW\bin\(包含gcc.exe)到PATH环境变量的末尾.
我试图再次cx_Oracle使用安装easy_install,我得到了错误command ‘gcc’ failed with exit status 1; 我尝试了这一步来解决它:
打开文件
C:\Python27\Lib\distutils\ cygwincompiler.py并删除–mno-cygwin此文件中的所有匹配项; 这是因为最近的版本GCC已删除–mno-cygwin选项,它不应该在那里.
我尝试安装cx_Oracle使用easy_install它,它工作.
但在互联网搜索期间,我发现了一些可能有用的技巧:
如果你有错误no module named win32api,那是因为你没有在你的计算机上安装python的win32扩展,你应该pywin32从Source Forge下载模块
并安装它.
如果你没有成功,你可以尝试旧版本cx_Oracle; 但请记住我们在上述内容中谈到的所有内容.你可以在cx_Oracle 这里找到所有版本.
如果你想使用sqlplus你也应该做其他一些步骤.为此,搜索互联网.
| 归档时间: |
|
| 查看次数: |
10589 次 |
| 最近记录: |