【问题标题】:psqlodbc connection failes with Python 3.7 (32 bit), worked with python 2.7 32 bit使用 Python 3.7(32 位)的 psqlodbc 连接失败,使用 python 2.7 32 位
【发布时间】:2021-09-26 22:45:57
【问题描述】:

直到现在我们仍然使用 Python 2.7,现在我正在将我们的脚本迁移到 Python 3.7。两个 Python 版本都是 32 位的。我们使用 odbc 连接到 psqlodbc 驱动程序,它适用于我的 Python 2.7 安装,但不适用于我的 Python 3.7。

不幸的是,我的错误是德语的,但它基本上是说它找不到程序,因此没有加载驱动程序:

dbi.opError: Aufgrund des Systemfehlers   127: Die angegebene Prozedur wurde nicht gefunden. (PostgreSQL ANSI, C:\Program Files (x86)\psqlODBC\1300\bin\psqlodbc30a.dll) konnte der angegebene Treiber nicht geladen werden. in LOGIN

这是适用于 python 2.7 的代码(我将一些公司信息更改为 ***)

import odbc

constr = (
    "DRIVER={PostgreSQL ANSI};"
    "SERVER=sr05789.sr.***.ch;"
    "PORT=5432;"
    "DATABASE=tcd;"
    "UID=***;"
    "PWD=***;"
    )

con = odbc.odbc(constr)
cur = con.cursor()

我也尝试过使用 pyodbc 但同样的故事。问题可能出在哪里?这是相同的代码和相同的笔记本。唯一的区别是 Python 的版本(但如前所述,两者都是 32 位)。

【问题讨论】:

    标签: python python-2.7 python-3.7 pyodbc


    【解决方案1】:

    我自己解决了,但还是不明白为什么:)

    所以解决方案是安装另一个 Python 32 位版本。我使用了 Python 3.9.6,现在它可以工作了。

    (首先我再次卸载并安装了 Python 3.7,但没有帮助)

    【讨论】:

      猜你喜欢
      • 2015-07-25
      • 1970-01-01
      • 2017-12-18
      • 1970-01-01
      • 2011-11-17
      • 2021-02-13
      • 2011-06-29
      • 2011-03-08
      • 2018-05-15
      相关资源
      最近更新 更多