bsqlodbc [-U username] [-P password] [-S server] [-D database]
       [-i input_file] [-o output_file] [-e error_file]
       [-t field_term] [-qv]


bsqlodbc is a utility program distributed with FreeTDS.

bsqlodbc is a non-interactive equivalent of the "isql" utility programs distributed by Sybase and Microsoft. Like them, bsqlodbc uses the command "go" on a line by itself as a separator between batches. The last batch need not be followed by "go".

bsqlodbc makes use of the ODBC API provided by FreeTDS. This API is of course also available to application developers.


-U username Database server login name.

-P password Database server password.

-S server Database server to which to connect.

-D database Database to use.

-i input_file Name of script file, containing SQL.

-o output_file Name of output file, holding result data.

-e error_file Name of file for errors.

-t field_term Specifies the field terminator. Default is two spaces (' '). Recognized escape sequences are tab ('\t'), carriage return ('\r'), newline ('\n'), and backslash ('\\').

-h Print column headers with the data to the same file.

-q Do not print column metadata, return status, or rowcount. Overrides -h.

-v Verbose mode, for more information about the ODBC interaction. This also reports the result set metadata, including and return code. All verbose data are written to standard error (or -e), so as not to interfere with the data stream.


bsqlodbc is a filter; it reads from standard input, writes to standard output, and writes errors to standard error. The -i, -o, and -e options override these, of course.


bsqlodbc exits 0 on success, and >0 if the server cannot process the query.


bsqlodbc first appeared in FreeTDS 0.65.


The bsqlodbc utility was written by James K. Lowden <[email protected]>