我使用64位的Windows7,安装了Python2.7和Oracle instant client 10.2.0.3。在
我尝试从python建立与Oracle数据库的连接。为了做到这一点,我下载了cx_Oracle-5.1.2-10g.win32-py2.7.msi并安装它。在
升级版。这是个错误。我指的是cx峎Oracle-5.1.2-10g.win-amd64-py2.7.msi
然后我试着用这样的代码连接import cx_Oracle
ad = cx_Oracle.makedsn('127.0.0.1', '1521', 'XE')
con = cx_Oracle.connect('user', 'password', ad)
并通过从数据库表中选择一些行来检查连接是否正确设置。在
此时此刻发生了一些有趣的事情。
我在三种不同的环境中执行所描述的操作:sublimetext3、Python控制台和ipython。在
问题出在ST3和ipython中,这段代码在cx_Oracle.connect行上悄无声息地崩溃(我用print语句在不同的地方进行了检查)。在
但在python控制台和idle中,它工作得很好。此外,有时它在ipython中正常工作,但我不明白为什么和何时。在ST3中它永远不起作用。在
ST显示消息[Finished in 0.4s with exit code 3221226356]
为了演示python和ipython控制台中的行为,我从cmd附加了简单case的copypaste。它只是从ipython退出。在
^{pr2}$
问题出在哪里?我该怎么解决呢?
提前谢谢。在
我试图处理ST3和ipython中的异常,比如try:
cx_Oracle.connect()
except Exception as e:
print e
但脚本在cx上终止_Oracle.connect()且未显示任何消息。在