psqlodbc 连接失败 Python 3.7(32 位),与 python 2.7 32 位一起使用
psqlodbc connection failes with Python 3.7 (32 bit), worked with python 2.7 32 bit
直到现在我们仍然使用 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)\psqlODBC00\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 32 位版本。我用了 Python 3.9.6,现在可以用了。
(首先我再次卸载并安装了我的 Python 3.7,但没有帮助)
直到现在我们仍然使用 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)\psqlODBC00\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 32 位版本。我用了 Python 3.9.6,现在可以用了。
(首先我再次卸载并安装了我的 Python 3.7,但没有帮助)