首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >配置dyango-pyodbc以使用UnixODBC/FreeTDS而不是iODBC

配置dyango-pyodbc以使用UnixODBC/FreeTDS而不是iODBC
EN

Stack Overflow用户
提问于 2013-12-09 16:56:55
回答 1查看 382关注 0票数 0

我已经通过Homebrew使用以下命令安装了UnixODBC和FreeTDS:

代码语言:javascript
复制
brew install unixodbc
brew install freetds --with-unixodbc

我已经验证了我可以在命令行上使用tsql通过FreeTDS进行连接。

然而,我得到了以下错误,表明iODBC仍然优先使用:

代码语言:javascript
复制
Error: ('00000', '[00000] [iODBC][Driver Manager]dlopen({FreeTDS}, 6): image not found (0)(SQLDriverConnect)')

尽管我可能会尝试,我似乎找不到任何解释,如何告诉操作系统与ODBC驱动程序首选。

编辑:我找到了http://richbs.org/post/43142767072/connecting-to-microsoft-sql-server-from-unix-linux-mac,发现我缺少环境变量ODBCINI,但是修复这个问题对关于的错误没有任何影响。然而,它确实修复了我之前一直忽略的isql

EN

回答 1

Stack Overflow用户

发布于 2014-01-29 20:11:42

好,这就是我所做的。功劳应该归功于其他人,因为我没有那么聪明(至少这是我的故事-我很久以前在另一台机器上进行了更改,直到今天才重新发现它,我认为是什么促使了它,但今天找不到它)。

我假设您使用的是virtualenv (如果不是,那么为什么不使用呢?)您需要在pyodbc模块中对setup.py进行以下更改(首先克隆它)( 145行左右):

代码语言:javascript
复制
-        settings['libraries'].append('iodbc')
-
+        settings['libraries'].append('odbc')
+       #settings['libraries'].append('iodbc')

然后运行python setup.py install。这(据我所知)去掉了与iODBC的链接,并将从unixODBC中找到odbc库。

这可能会使部署变得困难,但我假设当您将其部署到Linux实例时(它不会受到iODBC/unixODBC问题的影响)。有关于如何在类似posix的else分支中检测不同库的评论,因此它在某人的清单上。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20466664

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档