Events
Mar 31, 11 PM - Apr 2, 11 PM
The biggest SQL, Fabric and Power BI learning event. March 31 – April 2. Use code FABINSIDER to save $400.
Register todayThis browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
Applies to:
SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Reads a data file format definition from the specified format file.
RETCODE bcp_readfmt (
HDBC hdbc,
LPCTSTR szFormatFile);
Unicode and ANSI names:
hdbc
Is the bulk copy-enabled ODBC connection handle.
szFormatFile
Is the path and file name of the file containing the format values for the data file.
SUCCEED or FAIL.
After bcp_readfmt reads the format values, it makes the appropriate calls to bcp_columns and bcp_colfmt. There's no need for you to parse a format file and make these calls.
To persist a format file, call bcp_writefmt. Calls to bcp_readfmt can reference saved formats. For more information, see bcp_init.
Alternately, the bulk-copy utility (bcp) can save user-defined data formats in files that can be referenced by bcp_readfmt. For more information about the bcp utility and the structure of bcp data format files, see Bulk Import and Export of Data (SQL Server).
The BCPDELAYREADFMT value of the eOption parameter of bcp_control modifies the behavior of bcp_readfmt.
Note
The format file must be produced by version 4.2 or later of the bcp utility.
// Variables like henv not specified.
HDBC hdbc;
DBINT nRowsProcessed;
// Application initiation, get an ODBC environment handle, allocate the
// hdbc, and so on.
...
// Enable bulk copy prior to connecting on allocated hdbc.
SQLSetConnectAttr(hdbc, SQL_COPT_SS_BCP, (SQLPOINTER) SQL_BCP_ON,
SQL_IS_INTEGER);
// Connect to the data source, return on error.
if (!SQL_SUCCEEDED(SQLConnect(hdbc, _T("myDSN"), SQL_NTS,
_T("myUser"), SQL_NTS, _T("myPwd"), SQL_NTS)))
{
// Raise error and return.
return;
}
// Initialize bulk copy.
if (bcp_init(hdbc, _T("myTable"), _T("myData.csv"),
_T("myErrors"), DB_IN) == FAIL)
{
// Raise error and return.
return;
}
if (bcp_readfmt(hdbc, _T("myFmtFile.fmt")) == FAIL)
{
// Raise error and return.
return;
}
if (bcp_exec(hdbc, &nRowsProcessed) == SUCCEED)
{
cout << nRowsProcessed << " rows copied to SQL Server\n";
}
// Carry on.
Events
Mar 31, 11 PM - Apr 2, 11 PM
The biggest SQL, Fabric and Power BI learning event. March 31 – April 2. Use code FABINSIDER to save $400.
Register today