bcp_writefmt

Si applica a: sìSQL Server (tutte le versioni supportate) Sìdatabase SQL di Azure SìIstanza gestita di SQL di Azure sìAzure Synapse Analytics sìParallel Data Warehouse

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.

Restituisce

SUCCEED o FAIL.

Osservazioni

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

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

Per caricare un file di formato salvato, usare bcp_readfmt.

Nota

Il file di formato prodotto da bcp_writefmt è supportato solo dalle versioni dell'utilità bcp distribuite con SQL Server la 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

Funzioni di copia bulk