我正在尝试使用pyodbc
将python连接到MSSQL服务器。开发系统在Mac OSX Yosemite上运行带有Anaconda virtualenv的Python 2.7。
执行以下代码
connection = pyodbc.connect('DRIVER={FreeTDS};SERVER="192.168.1.106";PORT=1433;DATABASE=myDB;UID=myUsername;PWD=myPassword;CHARSET=UTF8;TDS_Version=8.0;')
给出错误
[unixODBC][FreeTDS][SQL Server]Unable to connect to data source (0) (SQLDriverConnect)
为什么会导致错误?
我还通过unixodbc
安装了freetds --with-unixodbc
和homebrew
,并配置了以下内容
〜/ .odbc.ini的
[odbc1]
Driver = FreeTDS
Server = 192.168.1.106
Port = 1433
TDS_Version = 8.0
/usr/local/etc/freetds.conf
[global]
# TDS protocol version
tds version = 8.0
使用pyodbc
手动安装 python setup.py install
包
验证
$ isql odbc1 myUsername myPass
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
SQL>
验证FreeTDS
$ tsql -S sqlserver -U myUsername -P myPassword
locale is "en_US.UTF-8"
locale charset is "UTF-8"
using default charset "UTF-8"
1>
使用名为Navicat的软件连接到MS SQL服务器也没有问题
我们如何解决连接问题?