Condividi tramite


bcp_writefmt

Si applica a: SQL Server database SQL di Azure Istanza gestita di SQL di Azure azure Synapse Analytics Analytics Platform System (PDW)

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

Vedi anche

Funzioni di copia bulk