tsql is a diagnostic tool provided as part of FreeTDS. It uses the TDS protocol directly to connect to Sybase or Microsoft SQL Servers, and allows the user to issue queries that test the capabilities of FreeTDS.
tsql is *not* a replacement for a complete isql, such as sqsh (www.sqsh.org). It is designed to rely on the lowest level FreeTDS library, tdslib, as a way to isolate potential bugs in the protocol implementation.
tsql can be run in two ways, one which uses the freetds.conf and one which connects directly using the server's hostname and port.
When -S is used, FreeTDS uses the freetds.conf (or equivalent) and environment variables in the normal way to determine the server's ip address and port. You can use -I to specify a filename, overriding FreeTDS's configuration file search algorithm.
The -H and -p parameters are provided especially for troubleshooting new configurations (or servers). Use of these parameters causes FreeTDS to ignore any freetds.conf and environment variables.
-I inside a freetds.conf or interfaces file describing servername
Typing "exit", "quit", or "bye" (or ^D) exits tsql.
Typing "version" displays the TDS protocol version.
Command batches may be separated with "go" or "GO". If "GO", the version string is reported before executing the batch.
If you can connect with "tsql -S servername", your basic FreeTDS installation is working.
If you have suggestions for ways to make tsql more useful as a diagnostic tool, please recommend them to the FreeTDS mailing list for consideration.
tsql first appeared in FreeTDS 0.60.
The tsql utility was written by Brian Bruns.
Several, to be sure, now that it's documented. :)