测试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.


你可能感兴趣的:(LINUX)