bcp_writefmt
Tworzy plik formatu zawierające opis formatu bieżącego pliku danych kopiowanie masowe.
RETCODE bcp_writefmt (
HDBC hdbc,
LPCTSTR szFormatFile);
Argumenty
hdbc
Czy dojścia połączenia ODBC włączona kopia w zbiorczej.szFormatFile
To ścieżka i nazwa użytkownika pliku do otrzymywania wartości format pliku danych.
Zwraca wartość
Powiodła się lub zakończyć się NIEPOWODZENIEM.
Remarks
Plik formatu określa format pliku danych utworzonego przez zbiorczego kopiowania danych.Calls to bcp_columns and bcp_colfmt define the format of the data file.bcp_writefmt saves this definition in the file referenced by szFormatFile.Aby uzyskać więcej informacji zobacz bcp_init.
Aby uzyskać więcej informacji na temat struktury BCP pliki w formacie danych, zobacz temat Working with Format Files.
Aby załadować zapisane plik formatu, należy użyć bcp_readfmt.
Uwaga
plik formatu wyprodukowane przez bcp_writefmt jest obsługiwany tylko w wersjach BCP narzędzie rozkład o SQL Server w wersja 7.0 lub nowszej.
Przykład
// 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_OUT) == FAIL)
{
// Raise error and return.
return;
}
if (bcp_columns(hdbc, 3) == FAIL)
{
// Raise error and return.
return;
}
bcp_colfmt(hdbc, 1, SQLCHARACTER, 0, SQL_VARLEN_DATA, '\t', 1, 1);
bcp_colfmt(hdbc, 2, SQLCHARACTER, 0, SQL_VARLEN_DATA, '\t', 1, 2);
bcp_colfmt(hdbc, 3, SQLCHARACTER, 0, SQL_VARLEN_DATA, '\t', 1, 3);
if (bcp_writefmt(hdbc, _T("myFmtFile.fmt")) == FAIL)
{
// Raise error and return.
return;
}
if (bcp_exec(hdbc, &nRowsProcessed) == SUCCEED)
{
printf_s("%ld rows copied from SQL Server\n", nRowsProcessed);
}
// Carry on.