首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Mac上用iODBC连接MS

在Mac上用iODBC连接MS
EN

Stack Overflow用户
提问于 2012-08-15 01:50:40
回答 1查看 5.6K关注 0票数 9

我正在尝试使用iODBC从我的Mac开发机器连接到Microsoft。无论我做什么,我都会从Unable to connect to data source驱动程序获得错误消息FreeTDS。在查阅了各种手册、博客文章和StackOverflow问题之后,我的智慧就到了尽头。

我使用的是MacOSX10.7.4,FreeTDS版本0.91是通过Homebrew安装的。我正在做的事情是:

代码语言:javascript
复制
$ brew install freetds
$ mkvirtualenv odbc
$ workon odbc
$ pip install pyodbc

$ tsql -H localhost -U mydbusername -P mydbpassword -p 1433 
locale is "en_US.UTF-8"
locale charset is "UTF-8"
using default charset "UTF-8"
1> quit

上述连接和工作,但:

代码语言:javascript
复制
$ iodbctest
iODBC Demonstration program
This program shows an interactive SQL processor
Driver Manager: 03.52.0607.1008

Enter ODBC connect string (? shows list): driver={TDS};server=localhost;uid=mydbusername;pwd=mydbpassword;database=mydbname
1: SQLDriverConnect = [FreeTDS][SQL Server]Unable to connect to data source (0) SQLSTATE=08001
1: ODBC_Connect = [FreeTDS][SQL Server]Unable to connect to data source (0) SQLSTATE=08001

由于我最终计划通过PyODBC使用它,所以我也尝试过这样做:

代码语言:javascript
复制
$ python
Python 2.7.3 (default, Jun 22 2012, 00:35:38) 
[GCC 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import pyodbc
>>> c = pyodbc.connect(driver='/usr/local/lib/libtdsodbc.so', host='localhost', name='mydbname', uid='mydbusername', pwd='mydbpassword')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
pyodbc.Error: ('08001', '[08001] [FreeTDS][SQL Server]Unable to connect to data source (0) (SQLDriverConnect)')

我试过各种博客文章中的建议,所以.在ODBC管理员中创建DSNs,创建一个~/.odbc.ini,尝试使用unixODBC (不使用PyODBC),指定一个连接字符串而不是关键字args等等。我还通过iODBC生成了一个跟踪文件,我已经粘贴了here,但是我无法从其中收集到比错误消息更多的信息。

(我应该提到的是,我正在使用~/.ssh/config中的行~/.ssh/config通过SSH隧道连接到Server,因为我的IT部门限制我只能从生产服务器的IP连接。它适用于GUI客户端(SQuirreLSQL),因此我假设转发是正确的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-15 19:41:42

在无DSN连接的情况下,应该在连接字符串中使用'port‘参数。

否则,可以在DSN或驱动程序配置中指定端口(分别为odbc.ini和freetds.conf )。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11963122

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档