IBCPSession::BCPReadFmt (Native Client OLE DB Provider)

Applies to: SQL Server (all supported versions) Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)


The SQL Server Native Client (often abbreviated SNAC) has been removed from SQL Server 2022 (16.x) and SQL Server Management Studio 19 (SSMS). Both the SQL Server Native Client OLE DB provider (SQLNCLI or SQLNCLI11) and the legacy Microsoft OLE DB Provider for SQL Server (SQLOLEDB) are not recommended for new development. Switch to the new Microsoft OLE DB Driver (MSOLEDBSQL) for SQL Server going forward.

Reads format information for each column from the format file.


      const wchar_t *pwszFormatFile);  


The BCPReadFmt method is used for reading data from a format file that specifies the format of data in the data file. This method is capable of detecting the correct version of the format file. It can automatically detect whether the format file is in xml or old style text format and behaves accordingly. The format file versions supported by the SQL Server Native Client OLE DB provider BCP are version 6.0 or newer.

After the BCPReadFmt method reads the format values, it makes the appropriate calls to the IBCPSession::BCPColumns and IBCPSession::BCPColFmt methods. There is no need for the user to parse a format file and make these calls.

To save a format file, call the IBCPSession::BCPWriteFmt method. Calls to the BCPReadFmt method can reference saved formats. Alternatively, the bulk-copy utility (bcp) can save user-defined data formats in files that can be referenced by the BCPReadFmt method.

The BCP_OPTION_DELAYREADFMT value of the eOption parameter of IBCPSession::BCPControl modifies the behavior of IBCPSession::BCPReadFmt.


The path and file name of the file containing the format values for the data file.

Return Code Values

The method succeeded.

A provider-specific error occurred, for detailed information use the ISQLServerErrorInfo interface.

Out of memory error.

The call to the method was unexpected. For example, the IBCPSession::BCPInit method was not called before calling this method.

See Also

IBCPSession (OLE DB)
Performing Bulk Copy Operations