CENTOS 6.5 x86_64 WHM 11.42.1 unixODBC 2.2.14
我试图连接到远程MSSQL服务器但没有成功 - 也尝试连接不同的tds版本(4.2,7.0,7.1,8.0),但都给出了相同的结果。
使用相同的服务器名称,端口,用户名和密码,我可以使用Win7和SQL Server Management Studio通过我的桌面进行连接。
Telnet也失败了。
详细信息如下。如果您需要,请告诉我。所有帮助/建议表示赞赏。
======
Compile-time settings (established with the "configure" script)
Version: freetds v0.91
freetds.conf directory: /etc
MS db-lib source compatibility: yes
Sybase binary compatibility: yes
Thread safety: yes
iconv library: yes
TDS version: 4.2
iODBC: no
unixodbc: yes
SSPI "trusted" logins: no
Kerberos: yes
======
locale is "en_US.UTF-8"
locale charset is "UTF-8"
using default charset "UTF8"
20Error 20009 (severity 9):
Unable to connect: Adaptive Server is unavailable or does not exist
OS error 110, "Connection timed out"
There was a problem connecting to the server
=======
[S1000][unixODBC][FreeTDS][SQL Server]Unable to connect to data source
[08S01][unixODBC][FreeTDS][SQL Server]Unable to connect: Adaptive Server is unavailable or does not exist
[ISQL]ERROR: Could not SQLConnect
====== osql -S testDSN -U' testuser' -P' testpass' ...
Configuration looks OK. Connection details:
DSN: testDSN
odbc.ini: /etc/odbc.ini
Driver: /usr/lib64/libtdsodbc.so
Server hostname: winsrv106.pleskdns.co.uk
Address: x.x.x.x
Attempting connection as testuser ...
+ isql testDSN testuser 'testpass' -v
[S1000][unixODBC][FreeTDS][SQL Server]Unable to connect to data source
[08S01][unixODBC][FreeTDS][SQL Server]Unable to connect: Adaptive Server is unavailable or does not exist
[ISQL]ERROR: Could not SQLConnect
net.c:205:FAILED Connecting to x.x.x.x port XXXX (TDS version 7.1)
======
log.c:196:Starting log file for FreeTDS 0.91
on 2014-04-10 15:33:03 with debug flags 0x4fff.
iconv.c:330:tds_iconv_open(0x7233e0, UTF8)
iconv.c:187:local name for ISO-8859-1 is ISO-8859-1
iconv.c:187:local name for UTF-8 is UTF-8
iconv.c:187:local name for UCS-2LE is UCS-2LE
iconv.c:187:local name for UCS-2BE is UCS-2BE
iconv.c:349:setting up conversions for client charset "UTF8"
iconv.c:351:preparing iconv for "UTF8" <-> "UCS-2LE" conversion
iconv.c:391:preparing iconv for "ISO-8859-1" <-> "UCS-2LE" conversion
iconv.c:394:tds_iconv_open: done
net.c:205:Connecting to x.x.x.x port XXXX (TDS version 7.1)
net.c:270:tds_open_socket: connect(2) returned "Operation now in progress"
net.c:306:getsockopt(2) reported: Connection timed out
net.c:316:tds_open_socket() failed
util.c:331:tdserror(0x723140, 0x7233e0, 20009, 110)
util.c:361:tdserror: client library returned TDS_INT_CANCEL(2)
util.c:384:tdserror: returning TDS_INT_CANCEL(2)
mem.c:615:tds_free_all_results()
======
Trying x.x.x.x...
telnet: connect to address x.x.x.x:
Connection timed out
答案 0 :(得分:5)
我遇到了同样的问题并使用自定义端口解决了这个问题: port = XXXXX 在freetds.conf中 应在SQL Server配置管理中配置此端口
SQL Server网络配置 - &gt; TCP / IP(已启用) - &gt; IP地址 - &gt; IPAll - &gt; TCP动态端口
答案 1 :(得分:2)
我在VirtualBox中运行MS Windows。
因此,对于我从mac主机访问MS SQLServer,我必须:
在VirtualBox中添加端口转发条目&gt;装置&gt;网络&gt;网络 设置&gt;高级
在MS控制面板中打开端口1444&gt; Windows防火墙&gt;高级 设置&gt;入境规则
在SQL Server配置管理器中启动SQL Server Browser&gt; SQL 服务器服务
在SQL Server配置管理器中启用TCP&gt;协议
在SQL Server配置管理器中为TCPAll设置TCP端口为1444&gt;方案&gt; TCP / IP&gt;属性......
请注意,MS SQL Server配置为侦听端口1444。
答案 2 :(得分:0)
我第一次使用Pymssql时看到了这个错误。我不得不打开TCP / IP作为本地安装SQL Server的网络协议之一。
答案 3 :(得分:0)
在Cygwin 64上安装与FreeTDS连接到本地计算机上的SQL Server 2008数据库的类似解决方案。必须为MSSQLServer服务启用TCP / IP协议并重新启动要解析的服务。
freetds.log跟踪激活让我得到了解决方案(跟踪日志示例):
11:16:13.960012 10688 (log.c:167):Starting log file for FreeTDS 0.95.69
on 2015-11-26 11:16:13 with debug flags 0xffff.<br>
11:16:13.960012 10688 (iconv.c:328):tds_iconv_open(0x60004b500, UTF-8)<br>
11:16:13.960012 10688 (iconv.c:187):local name for ISO-8859-1 is ISO-8859-1<br>
11:16:13.960012 10688 (iconv.c:187):local name for UTF-8 is UTF-8<br>
11:16:13.960012 10688 (iconv.c:187):local name for UCS-2LE is UCS-2LE<br>
11:16:13.960012 10688 (iconv.c:187):local name for UCS-2BE is UCS-2BE<br>
11:16:13.960012 10688 (iconv.c:346):setting up conversions for client charset "UTF-8"<br>
11:16:13.960012 10688 (iconv.c:348):preparing iconv for "UTF-8" <-> "UCS-2LE" conversion<br>
11:16:13.960012 10688 (iconv.c:395):preparing iconv for "ISO-8859-1" <-> "UCS-2LE" conversion<br>
11:16:13.960012 10688 (iconv.c:400):tds_iconv_open: done<br>
11:16:13.960012 10688 (net.c:202):Connecting to ?.?.?.? port 1433 (TDS version 7.3)<br><br>
11:16:13.963012 10688 (net.c:274):tds_open_socket: connect(2) returned "Operation now in progress"<br>
11:16:14.963069 10688 (net.c:309):getsockopt(2) reported: Connection refused<br>
11:16:14.963069 10688 (net.c:319):tds_open_socket() failed<br>
11:16:14.963069 10688 (util.c:322):tdserror(0x600049ad0, 0x60004b500, 20009, 111)<br>
11:16:14.963069 10688 (odbc.c:2343):msgno 20009 20003<br>
11:16:14.963069 10688 (util.c:352):tdserror: client library returned TDS_INT_CANCEL(2)<br>
11:16:14.963069 10688 (util.c:375):tdserror: returning TDS_INT_CANCEL(2)<br>
11:16:14.963069 10688 (mem.c:648):tds_free_all_results()<br>
11:16:14.964069 10688 (error.c:414):odbc_errs_add: "Unable to connect to data source"<br>
11:16:14.964069 10688 (error_export.h:23):SQLError(0x0, 0x600049b70, 0x0, 0x22ba50, 0x22ba4c, 0x22c540, 513, 0x22ba46)<br>
11:16:14.964069 10688 (error.c:565):SQLGetDiagRec: "[FreeTDS][SQL Server]Unable to connect: Adaptive Server is unavailable or does not exist"<br>
11:16:14.964069 10688 (error_export.h:23):SQLError(0x0, 0x600049b70, 0x0, 0x22ba50, 0x22ba4c, 0x22c540, 513, 0x22ba46)<br>
11:16:14.964069 10688 (error.c:565):SQLGetDiagRec: "[FreeTDS][SQL Server]Unable to connect to data source"<br>