Udostępnij za pośrednictwem


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.

See Also

Reference