在SQL Server上,Freetds连接失败

时间:2016-03-27 12:24:22

标签: sql-server macos pyodbc freetds rodbc

我在mac os x(yosemite)上使用freetds 0.95连接到SQL服务器[想要连接到本地数据库]但是到目前为止我的所有尝试都失败了。

终端上的

odbcinst -j给了我以下内容:

unixODBC 2.3.2
DRIVERS............: /usr/local/Cellar/unixodbc/2.3.2_1/etc/odbcinst.ini
SYSTEM DATA SOURCES: /usr/local/Cellar/unixodbc/2.3.2_1/etc/odbc.ini
FILE DATA SOURCES..: /usr/local/Cellar/unixodbc/2.3.2_1/etc/ODBCDataSources
USER DATA SOURCES..: /Users/user/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8

最初,我想连接到我的本地sql服务器。

以下是位于/usr/local/etc/freetds.conf

的freetds.conf的摘录
# A typical Microsoft server
[#egServer70]
#   host = ntmachine.domain.com
#   port = 1433
#   tds version = 7.0
    [TITAN]
    host = 127.0.0.1
    port = 3306
    tds version = 8.0

    [testing]
    host = 127.0.0.1
    port = 1433
    tds version = 8.0

我曾尝试使用TDS版本8.0,但连接仍然失败。

当我运行tsql -S TITAN -U roottsql -S testing -U root时,我收到以下错误:

locale is "en_US.UTF-8"
locale charset is "UTF-8"
using default charset "UTF-8"
Error 20002 (severity 9):
    Adaptive Server connection failed
There was a problem connecting to the server

以下是:

odbcinst.ini文件位于/usr/local/Cellar/unixodbc/2.3.2_1/etc

[FreeTDS]
Description=Open source FreeTDS Driver
Driver=/usr/local/lib/libtdsodbc.so
UsageCount=1

odbc.ini文件位于/usr/local/Cellar/unixodbc/2.3.2_1/etc

[testing]
Driver=FreeTDS
Server=localhost
#Port=3306
#charset=UTF8 
User=
Password=
#Database=admin
## can specify an actual database to each DSN
TDS_Version=8.0
[Default]
Driver=/usr/local/lib/libtdsodbc.so

到目前为止,我真的不知道自己做错了什么,也许我错误地在os,freetds上安装了odbc。请帮我解决这个问题。

1 个答案:

答案 0 :(得分:1)

这里的问题有些混乱。

Microsoft SQL Server是一种仅在Windows上运行的产品(现在),您可以使用unixODBC和FreeTDS通过ODBC连接。 你不需要这个。

由于您正在连接MySQL,因此您需要一个Python包来连接它。我推荐这个软件包,因为它兼容Python 2& 3,并由Django的文档推荐:

https://pypi.python.org/pypi/mysqlclient

试一试。祝你好运!