bsqldb man page

bsqldb — batch SQL script processor using DB-Library


bsqldb [-hqv] [-S servername] [-D database] [-U username] [-P password] [-i input_file] [-o output_file] [-e error_file] [-H hostname] [-t field_term] [-R pivot_description]


bsqldb is a utility program distributed with FreeTDS. bsqldb is a non-interactive equivalent of the "isql" utility programs distributed by Sybase and Microsoft. Like them, bsqldb uses the command "go" on a line by itself as a separator between batches. The last batch need not be followed by "go". bsqldb makes use of the DB-Library API provided by FreeTDS. This API is of course also available to application developers.


-D database

Database to use.

-H hostname

hostname Override name of client sent to server.

-P password

Database server password.

-S servername

Database server to which to connect.

-U username

Database server login name. If username is not provided, a domain login is attempted for TDS 7+ connections.

-e error_file

Name of file for errors.


Print column headers with the data to the same file.

-i input_file

Name of script file, containing SQL.

-o output_file

Name of output file, holding result data.


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

-t field_term

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


Verbose mode, for more information about the DB-Library 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.

-R pivot_description

Specify pivot trasformation. The format is ⟨down columns⟩ ⟨across columns⟩ ⟨function⟩ ⟨value⟩. Columns are specified but numbers. The format of down columns and across columns is a comma separated list of columns. function is either count, sum, min or max.


DSQUERY default servername


bsqldb 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 defaults.

The source code for bsqldb is intended as a model for DB-Library users. DB-Library has a rich set of functions, and it can be hard sometimes to understand how to use them, particularly the first time. If you find something about the source code unclear, you are encouraged to email the author your comments.

Exit Status

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

For messages with severity > 10, bsqldb calls exit(3) with the severity level. For example, if the severity level is 16, bsqldb will return an exit status of 16 to the shell.


bsqldb first appeared in FreeTDS 0.63.


The bsqldb utility was written by James K. Lowden ⟨⟩.


Microsoft servers as of SQL Server 7.0 SP 3 do not return output parameters unless the RPC functions are used. This means bsqldb cannot return output parameters for stored procedures with these servers.

Referenced By


March 26, 2015