在Mac OS上使用PyODBC通过SQLAlchemy连接到MSSQL

5

有人成功地通过sqlalchemy使用pyodbc连接到mssql吗?我现在正在使用turbogears2,尝试连接到mssql,在mac os平台上工作。

出现以下错误:

sqlalchemy.exc.DBAPIError: (Error) ('00000', '[00000] [iODBC][Driver Manager]dlopen({SQL Server}, 6): image not found (0) (SQLDriverConnectW)') None None

你要运行的代码在哪里? - nosklo
你是否安装了任何用于 MSSQL 的 ODBC 驱动程序? - nosklo
非常感谢您的回复。 以下是我在Python shell中直接使用的一些示例代码:
import sqlalchemy engine=sqlalchemy.create_engine('mssql+pyodbc://sa:password@host/hf_export') con=engine.connect()
- Leon Guan
我认为你是对的,也许我缺少ODBC驱动程序,我已经安装了pyodbc,显然它不是一个驱动程序。 - Leon Guan
你找到了适用于OSX的驱动程序吗? - Issac Kelly
是的,我用了freedts,在我使用它时做了一些笔记,这很痛苦,由于某些原因我放弃了在那个项目中使用Python,无论如何,希望这些信息能有所帮助: - Leon Guan
2个回答

4

有一个比旧的macports或fink更好的方法,Brew:

brew install freetds unixodbc

它甚至不需要 root 来安装。


2

使用MacPort简单易行

只需执行以下命令即可完成安装:

    sudo port install freetds +mssql +odbc +universal

这将安装freetds和unixODBC,我们可以使用unixODBC进行ODBC管理,或者使用Mac OS自带的iODBC。

编译和安装

    ./configure --prefix=/usr/local/lib/freetds --with-tdsver=8.0 --enable-msdblib --enable-dbmfix --with-gnu-ld --enable-shared --enable-static
    make
    make install

TDSVER设置

若要连接SQL Server 2005/8,请确保将TDS版本设置为8.0,使用以下终端命令:

    export TDSVER = 8.0

语言设置

确保已设置正确的语言:

    export LC_ALL=en_US.UTF-8

2
在运行./configure命令时,我应该在哪个目录下? - Civilian

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接