IBCPSession::BCPColumns (OLE DB)
Applies to: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
Sets the number of fields that are to be bound to the columns in a SQL Server table.
HRESULT BCPColumns(
DBCOUNTITEM nColumns);
Internally it calls IBCPSession::BCPColFmt to set the default values for field data. These default values are obtained from the SQL Server column information that the provider internally retrieves when the table name is specified through IBCPSession::BCPInit.
Note
This method can be called only after BCPInit has been called with a valid file name.
You should call this method only if you intend to use a user-file format that differs from the default. For more information about a description of the default user-file format, see the BCPInit method.
After calling the BCPColumns method, you must call the BCPColFmt method for each column in the user file to completely define a custom file format.
nColumns[in]
The total number of fields in the user file. Even if you are preparing to bulk copy data from the user file to a SQL Server table and do not intend to copy all fields in the user file, you must still set the nColumns argument to the total number of user-file fields. The skipped fields can then be specified through BCPColFmt.
S_OK
The method succeeded.
E_FAIL
A provider-specific error occurred; for detailed information, use the ISQLServerErrorInfo interface.
E_UNEXPECTED
The call to the method was unexpected. For example, the BCPInit method was not called before calling this method. Also occurs when this method is called more than once for a bulk copy operation.
E_OUTOFMEMORY
Out-of-memory error.