【发布时间】:2011-04-21 13:47:55
【问题描述】:
定期使用 pyodbc 创建到 oracle 数据库的连接时,它会杀死解释器。
import pyodbc
connectString = 'Driver={Microdsoft ODBC for Oracle};Server=<host>:<port>/<db>.<host>;uid=<username>;pwd=<password>'
cnxn = pyodbc.connect(connectString)
假设有 1/5 的时间这只会让我从 Python 提示符 (>>>) 下降到我的 dos 提示符 (C:)
关于为什么会发生这种情况或如何解决它的任何想法?
【问题讨论】:
-
"这只会丢给我" 没有消息?真的吗?您是否尝试过运行
top或其他一些系统监视器来查看发生了什么?这是 only 代码,没有查询或其他任何内容?你能提供一个日志来显示这种情况,以及产生的所有输出吗? -
@S.Lott 我可以用上面的代码重新创建这个问题。是的,它只是从 Python 提示符转到 DOS 提示符。它不会 100% 发生,可能是 25%,这使得诊断变得非常困难。我不确定要提供哪个日志文件。是否有我可以查看的 python.log 文件?
-
在使用 zipfile.ZipFile.extract 对大型 zip 文件执行解压缩时,我也看到了类似的问题,尽管我还没有编写类似上面的测试,我可以轻松地复制它。
-
@ccwhite1:“有没有我可以查看的 python.log 文件”?有标准输出和标准错误——这些是 Python 的输出文件。 Python 几乎不可能“从 Python 提示符跳到 DOS 提示符”而不显示异常和 stderr 上的回溯。请提供代码和输出。
-
@S.Lott 这就是我的想法,但这正是发生的事情。我给你截图