OnWorks favicon

freebcp - Online in the Cloud

Run freebcp in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command freebcp that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator



freebcp - bulk loading utility for Sybase and Microsoft databases


freebcp [[database.]owner.]object_name {in | [query]out} datafile
{ -c | -n | -f formatfile }
[-b batchsize] [-F firstrow] [-L lastrow] [-e errfile]
[-I interfaces] [-m maxerrors] [-t field_term] [-r row_term]
[-h hints] [-T textsize] [-A packet_size] [-O options]
[-S servername] [-U username] [-P password] [-EdVv]


freebcp is a utility program distributed with FreeTDS. freebcp replicates (in part at
least) the functionality of the "bcp" utility programs distributed by Sybase and

freebcp makes use of the db-lib bcp API provided by FreeTDS. This API is also available to
application developers.

The manual pages or online help for Sybase or SQL Server can be referenced for more
detailed information on "bcp" functionality.


The database of the object being copied. Optional if the table/view is in the
default database for username.

owner The owner of the object being copied. Optional if username or the database owner is
the owner of the table.

Usually, object_name is the name of the database table you wish to access. It can
also be a view (and, subject to constraints, it is sometimes possible to load a
view). It can also be an SQL query, cf. queryout, below.

in | [query]out
The direction of the bulk copy operation. 'in' indicates data are to be copied from
a host file into a database table; 'out' indicates data are to be copied from a
database table to a host file. 'queryout' indicates that table_name is in fact a
query, rather than a database object. freebcp will execute the query and write the
results to a file. (It is a good idea to have the query return one and only one
result set.)

The name of an operating system file.


-c The host data file is (or will be) in "character" format, i.e., a text file.
Encoding is determined by the client charset attribute in freetds.conf.

-n The host data file is in "native" format. This is a format that freebcp will be
able to process, but is not portable or readable.

-f formatfile
The format of the host data file is described by formatfile. The layout of
formatfile is identical to that understood by the Sybase and Microsoft bcp
utilities, but is too complicated to describe here.

-b batchsize
The number of rows per batch of data copied. Batching applies only when you are
bulk copying into the database. Each batch of data is effectively 'committed' into
the database. The default value for batchsize is 1000.

-F firstrow
The first row to copy from the input file or database table. The default is the
first row, row 1.

-L lastrow
The last row to copy from an input file or database table. The default is the last

-r row_term
The row terminator for a character file. May be more than one character. Default
is newline ('\n'). Cf. -c, above.

-t field_term
The field terminator for character file. Also known as a column delimiter. May be
more than one character. Default is tab ('\t'). Cf. -c, above.

-m maxerrors
Stop after encountering maxerror errors. Default 10.

-e errfile
Write errors to error_file. For uploads. Includes line and column information, and
the row data.

-S servername
The name of the Database Server to which to connect.

-U username
A database login name. If username is not provided, a domain login is attempted for
TDS 7+ connections.

-P password
A database password.

-E Write the data in datafile to the table's IDENTITY column. Without this flag, the
identity data present in the datafile will be ignored, and new IDENTITY values will
be generated for the imported rows.

-d Turn off any logging. (Unintuitive, perhaps.)

-O options
SQL text to set connection options prior to the bcp operation. If options is a
valid filename, the SQL is read from the file instead. Sometimes needed for
queryout. Example: "-O 'SET QUOTED_IDENTIFIER ON'"

-I interfaces
The name and location of the interfaces file to search when connecting to
servername. Overrides freetds.conf.

-h hints
Set bcp hints. For valid values, cf. bcp_options() in the FreeTDS Reference Manual.

-T textsize
For text or image columns, set the maximum number of characters to request from the
server. Defaults to the setting in freetds.conf. If not specified anywhere,
defaults to the full size of the data.

-A packet_size
Set the size of a TDS packet to packet_size. Not sure why you would want to do
this, except as an experiment.

-v -V Print the version information and exit.


default servername


When connecting to a Sybase database server, it is required that the TDS 5.0 protocol be
used. When connecting to a Microsoft SQL Server 2000 database server, the TDS 7.1 protocol
is required.

Theoretically both Sybase and Microsoft support the TDS 4.2 protocol, but in reality they
implement the bcp portion of TDS 4.2 differently. FreeTDS has no way of knowing which
type of server it's connected to, hence TDS protocol 4.2 is not supported.


freebcp first appeared in FreeTDS 0.60


The freebcp utility was written by Bill Thompson ([email protected])

Use freebcp online using onworks.net services

Free Servers & Workstations

Download Windows & Linux apps

Linux commands