连接OSX+;Python+;MSSQL

连接OSX+;Python+;MSSQL,python,osx-mavericks,pyodbc,freetds,Python,Osx Mavericks,Pyodbc,Freetds,我是Python开发新手,我正试图在Mac(Mavericks)上建立一个Python/Flask项目,通过pyodbc+freetds+unixodbc与MSSQL服务器连接 我可以使用isql和osql连接和查询服务器,但我无法让pyodbc连接。 我是如何让isql和osql工作的: 通过brew安装python:brew安装python 已安装pip和virtualenv 通过brew安装unixodbc:brew安装unixodbc 通过brew安装freetds:brew安装fre

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

我可以使用
isql
osql
连接和查询服务器,但我无法让pyodbc连接。

我是如何让isql和osql工作的:

  • 通过brew安装python:
    brew安装python
  • 已安装pip和virtualenv
  • 通过brew安装unixodbc:
    brew安装unixodbc
  • 通过brew安装freetds:
    brew安装freetds——使用unixodbc
  • 更新freetds.conf、odbc.ini(odbc.ini直接指向驱动程序)
  • 更新lib上的权限以使其可执行:
    chmod 554/usr/local/lib/libtdsodbc.so
此时,我可以成功连接。现在,对于pyodbc部分

  • 在my virtualenv中,安装pyodbc
    sudo pip安装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?

对于任何试图弄明白这一点的人,我用pymssql而不是pyodbc来工作