我正在使用 VMWare Starter 并运行 2 个客户虚拟机,Ubuntu 和 Windows XP Professional。主机系统是 Windows 7。
Windows XP Professional 托管 MSSQL 数据库,Ubuntu 使用 FreeTDS 与其通信。
不幸的是我无法使用以下方式连接:
tsql -S windog -U sa
因为它失败了:
Password:
locale is "en_GB.UTF-8"
locale charset is "UTF-8"
using default charset "UTF-8"
Error 20009 (severity 9):
Unable to connect: Adaptive Server is unavailable or does not exist
OS error 111, "Connection refused"
There was a problem connecting to the server
我找到了一个很好的页面,描述了如何调试 TSQL 问题: http://www.freetds.org/userguide/confirminstall.htm
我发现问题是“主持人“TSQL 可能依赖的 linux 命令不尊重 /etc/hosts 中的条目。
> host 9E37F01AB
has address 81.200.64.50
Host 9E37F01AB not found: 3(NXDOMAIN)
上面的 IP 看起来就像是我的 ISP 对于未找到 DNS 条目的后备 IP。
但是 ping 解析 IP 为 192.168.0.7(这是正确的)
我的配置如下:
/etc/hosts
192.168.0.7 9E37F01AB
/etc/freetds/freetds.conf
[windog]
host = 9E37F01AB
instance = SQL2008EXPRESS
port = 1433
tds version = 7.0
client charset = UTF-8
我该如何做才能不带来太多麻烦呢?
以前它可以工作,但是我已经在 OpenWRT 上安装了运行 DNSMasq 的路由器,因此它将我所有的网络机器主机名添加到路由器 DNS。