Condividi tramite


bcp_writefmt

Crea un file di formato che contiene una descrizione del formato del file di dati della copia bulk corrente.

Sintassi

RETCODE bcp_writefmt ( 
        HDBC hdbc, 
        LPCTSTR szFormatFile);

Argomenti

  • hdbc
    Handle di connessione ODBC abilitato per la copia bulk.

  • szFormatFile
    Percorso e nome del file utente per ricevere i valori di formato per il file di dati.

Valori restituiti

SUCCEED o FAIL.

Osservazioni

Il file di formato specifica il formato dei dati di un file di dati creato dalla copia bulk. Le chiamate a bcp_columns e bcp_colfmt definiscono il formato del file di dati. bcp_writefmt salva questa definizione nel file a cui szFormatFile fa riferimento. Per ulteriori informazioni, vedere bcp_init.

Per ulteriori informazioni sulla struttura dei file di formato dei dati bcp, vedere Importazione ed esportazione di dati per operazioni bulk tramite l'utilità bcp (SQL Server).

Per caricare un file di formato salvato, utilizzare bcp_readfmt.

[!NOTA]

Il file di formato prodotto da bcp_writefmt è supportato solo dalle versioni dell'utilità bcp distribuita con SQL Server versione 7.0 e successive.

Esempio

// 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.

Vedere anche

Riferimento

Funzioni di copia bulk