bcp_writefmt
Si applica a: SQL Server Database SQL di Azure Istanza gestita di SQL di Azure Azure Synapse Analytics Piattaforma di strumenti analitici (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.