Performing Bulk Copy Operations (ODBC)
SQL Server Native Client (SNAC) is not supported beyond SQL Server 2012. Avoid using SNAC in new development work, and plan to modify applications that currently use it. The Microsoft ODBC Driver for SQL Server provides native connectivity from Windows to Microsoft SQL Server and Microsoft Azure SQL Database.
The ODBC standard does not directly support SQL Server bulk copy operations. When connected to an instance of SQL Server version 7.0 or later, the SQL Server Native Client ODBC driver supports the DB-Library functions that perform SQL Server bulk copy operations. This driver-specific extension provides an easy upgrade path for existing DB-Library applications that use bulk copy functions. The specialized bulk copy support is in the following files:
Includes function prototypes and constant definitions for bulk copy functions. sqlncli.h must be included in the ODBC application performing bulk copy operations and must be in the application's include path when it is compiled.
Must be in the library path of the linker and specified as a file to be linked. sqlncli11.lib is distributed with the SQL Server Native Client ODBC driver.
Must be present at execution time. sqlncli11.dll is distributed with the SQL Server Native Client ODBC driver.
With the Full Recovery model, all row-insert operations performed by bulk load are fully logged in the transaction log. For large data loads, this can cause the transaction log to fill rapidly. Under certain conditions, minimally logging is possible. Minimal logging reduces the possibility of a bulk load operation filling the log space and is also more efficient than full logging.
For information on using minimal logging, see Prerequisites for Minimal Logging in Bulk Import.
When using bcp.exe in SQL Server 2005 or later, you might see errors in situations where there were no errors prior to SQL Server 2005. This is because in the later versions, bcp.exe no longer performs implicit data type conversion. Prior to SQL Server 2005, bcp.exe converted numeric data to a money data type, if the target table had a money data type. However, in that situation, bcp.exe simply truncated extra fields. Beginning in SQL Server 2005, if data types do not match between the file and the target table, bcp.exe will raise an error if there is any data that would have to be truncated to fit into the target table. To resolve this error, fix the data to match the target data type. Optionally, use bcp.exe from a release prior to SQL Server 2005.