测试freetds是否能连mssql

freetds连接失败可能原因:

1. mssql服务器是否开放远程连接
2.防火墙是否限制了连接
3. 端口号是否正确,默认是1433
4.配置文件中servername中是否指定tdsrve verstion


Start with ping

First ping the host to make sure you can talk to the machine the server resides on.

Example 8-1. Finding the server's host

$ ping -c1 myhost
PING myhost (127.0.0.1) from 127.0.0.1 : 56(84) bytes of data.
64 bytes from myhost (127.0.0.1): icmp_seq=0 ttl=255 time=250 usec
A successful ping shows that your network isn't preventing you from reaching the machine hosting the server.

Test with telnet

Attempt to telnet to the port, to verify that the dataserver is listening.

Example 8-2. Finding the server

$ telnet myhost 1433
Trying 127.0.0.1...
Connected to myhost.
Escape character is '^]'.
If you get output as above, the dataserver is listening. If you get a'Connection Refused' message, you're talking to the wrong host, wrongport, or the dataserver is down. [1]

Test with tsql

tsql can be run in two ways, one which uses freetds.conf and one which connects directly using the host and port. First attempt a connection using host and port.

Example 8-3. Connecting to the server, bypassing freetds.conf

$ cd src/apps
$ TDSVER=7.0 ./tsql -H myhost -p 1433 -U user
If you receive a message of 'Login Failed.' then your connectivity is OK, but you have a authentication issue.

If you receive a message like

 Msg. No.: 18450 Severity: 14 State: 1 Login failed- User: loginid Reason: Not defined as a valid user of a trusted SQL Server connection
SQL Server is accepting only "domain" logins. This applies only to Microsoft SQL Server and you'll need to have your DBA verify that "server logins" are allowed, or use a domain login.

Finally, if you received a prompt, then try tsql using the dataserver name.

Example 8-4. Connecting to the server using freetds.conf

$ ./tsql -S myserver -U user
If this fails, FreeTDS is either not finding your freetds.conf file, finding the wrong one, or there is an error in the file.

Notes

[1]

To exit telnet: When connected, telnet's command mode may be entered by typing the telnet escape character (initially Ctrl-], as above). Once in command mode, telnet may be exited with the command quit.


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值