【问题标题】:python connecting to Oracle using pyodbc sometimes kills python interpreterpython使用pyodbc连接到Oracle有时会杀死python解释器
【发布时间】: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 这就是我的想法,但这正是发生的事情。我给你截图

标签: python oracle pyodbc


【解决方案1】:

我们无法发现究竟是什么导致了这个问题。研究使我们认为 Python 2.7.1、PyODBC 和 Win 2003 服务器可能存在问题。

为了解决这个问题,我们创建了一个执行权限检查的 jar 文件,然后让 python 脚本调用该文件并返回结果

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-28
    • 2012-09-16
    • 2013-02-07
    • 1970-01-01
    • 2016-06-01
    • 2015-05-04
    • 1970-01-01
    相关资源
    最近更新 更多