Bulk Loading for OLE DB

The BULKLOAD= LIBNAME option calls the SQLOLEDB interface of IRowsetFastLoad so that you can efficiently insert rows of data into a Microsoft SQL Server database table as a unit.BCP= is an alias for this option.

Note: This functionality is available only when accessing Microsoft SQL Server data on Windows platforms using Microsoft SQL Server Version 7.0 or later.

As the OLE DB interface sends rows of data to the bulk-load facility, data is written to an input buffer. When you send all rows or when the buffer reaches a certain size (DBCOMMIT= determines this), all rows are inserted as a unit into the table and the data is committed to the table. You can also set DBCOMMIT= to commit rows after a specified number of rows are inserted.

If an error occurs, a message is written to the SAS log, and any rows that were inserted before the error are rolled back.

If you specify BULKLOAD=YES and the PROVIDER= option is specified, SAS/ACCESS Interface to OLE DB uses the specified provider. If you specify BULKLOAD=YES and PROVIDER= is not specified, the engine uses the PROVIDER=SQLOLEDB value.

If you specify BULKLOAD=YES, connections that are made through OLE DB Services or UDL files are not allowed.

Last updated: February 3, 2026