加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – Pyodbc连接错误,但isql工作

发布时间:2020-12-20 13:40:41 所属栏目:Python 来源:网络整理
导读:我已经在这几个小时了.我无法通过pyodbc连接到数据库,但我可以使用 tsql和isql连接. 我现在只是在尝试(这可能是错的,但说明了我的观点): import pyodbcpyodbc.connect("DRIVER={dev};SERVER=epdbdev01;DATABASE=something;USER=epnet2;OPTION=3;") 我明白了
我已经在这几个小时了.我无法通过pyodbc连接到数据库,但我可以使用 tsql和isql连接.

我现在只是在尝试(这可能是错的,但说明了我的观点):

import pyodbc

pyodbc.connect("DRIVER={dev};SERVER=epdbdev01;DATABASE=something;USER=epnet2;OPTION=3;")

我明白了

Error: ('00000','[00000] [iODBC][Driver Manager]dlopen({dev},6): image not found (0) (SQLDriverConnect)')

我可以通过isql连接就好了,为了好玩:

$isql -v dev_fail user pass
[IM002][unixODBC][Driver Manager]Data source name not found,and no default driver specified
[ISQL]ERROR: Could not SQLConnect

$isql -v dev user pass
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+

您可以看到,如果我使用无效的DSN,我可能会出错,并且使用正确的DSN.现在,错误DSN的错误与我使用pyodbc时出现的错误相同,所以看起来似乎有些问题.

我挣扎了这个我已经重新安排了几次,现在我的odbc.ini和odbcinst.ini从我的自制安装到我的家庭目录的sym链接如下:

.freetds.conf -> /usr/local/Cellar/freetds/0.91/etc/freetds.conf
.odbc.ini -> /usr/local/Cellar/unixodbc/2.3.2/etc/odbc.ini
.odbcinst.ini -> /usr/local/Cellar/unixodbc/2.3.2/etc/odbcinst.ini

最后,我的odbc.ini和odbcinst.ini文件:

ODBC.INI

[dev]
Driver = FreeTDS
Description = please work
ServerName = epdbdev01
UID = user
PWD = pass

ODBCINST.INI

[FreeTDS]
Description = FreeTDS
Driver = /usr/local/Cellar/freetds/0.91/lib/libtdsodbc.so
Setup = /usr/local/Cellar/freetds/0.91/lib/libtdsodbc.so
client charset = utf-8

pyodbc会在某处找到我刚刚遗漏的驱动程序信息吗?我正处于这个杂草上,我可能已经克服了一些问题,但是如果isql工作,我会想象pyodbc会依赖于相同的连接信息,但显然现在.

解决方法

最后我把odbc.ini和odbcinst.ini放在/ etc.另外,我用–with-unixodbc命令从homebrew重新安装了freetds并且它有效.第5次阅读这个 blog by JD Long帮助我获得了iODBC vs unixODBC断开连接.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读