连接OSX + Python + MSSQL

时间:2013-12-23 18:51:01

标签: python osx-mavericks pyodbc freetds

我是Python开发的新手,我正在尝试在我的Mac(Mavericks)上设置一个Python / Flask项目,通过pyodbc + freetds + unixodbc与MSSQL服务器连接。

我可以使用isqlosql连接和查询服务器,但我无法通过pyodbc进行连接。

我如何使用isql和osql:

  • 通过brew安装python:brew install python
  • 已安装pip和virtualenv
  • 通过brew安装unixodbc:brew install unixodbc
  • 通过brew安装freetds:brew install freetds --with-unixodbc
  • 更新freetds.conf,odbc.ini(odbc.ini直接指向驱动程序)
  • 更新lib的权限以生成可执行文件:chmod 554 /usr/local/lib/libtdsodbc.so

此时,我可以成功连接。现在,对于pyodbc部分......

  • 从我的virtualenv中,安装pyodbc sudo pip install pyodbc

根据我的连接字符串,我得到一些此错误的变体:

DBAPIError: (Error) ('IM002', '[IM002] [iODBC][Driver Manager]Data source name not found and no default driver specified. Driver could not be loaded (0) (SQLDriverConnect)') None None

看起来它正在尝试使用iODBC而不是unixODBC,这可能是我的第一个问题。

如何让pyodbc使用unixODBC?

1 个答案:

答案 0 :(得分:2)

对于任何想要解决这个问题的人,我使用pymssql而不是pyodbc来使用它。