Partilhar via


bcp_writefmt

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada SQL do Azure do Azure Synapse AnalyticsAnalytics Platform System (PDW)

Cria um arquivo de formato contendo uma descrição do formato do arquivo de dados de cópia em massa atual.

Sintaxe

  
RETCODE bcp_writefmt (  
        HDBC hdbc,  
        LPCTSTR szFormatFile);  

Nomes Unicode e ANSI:

  • bcp_initA (ANSI)
  • bcp_initW (Unicode)

Argumentos

hdbc
É o identificador de conexão ODBC habilitado para cópia em massa.

szFormatFile
É o caminho e o nome do arquivo do usuário para receber valores de formato para o arquivo de dados.

Devoluções

TER SUCESSO ou FALHAR.

Comentários

O arquivo de formato especifica o formato de dados de um arquivo de dados criado por cópia em massa. Chamadas para bcp_columns e bcp_colfmt definem o formato do arquivo de dados. bcp_writefmt salva essa definição no arquivo referenciado por szFormatFile. Para obter mais informações, consulte bcp_init.

Para obter mais informações sobre a estrutura de arquivos de formato de dados bcp, consulte Importar e exportar dados em massa usando o utilitário bcp (SQL Server).

Para carregar um arquivo de formato salvo, use bcp_readfmt.

Observação

O arquivo de formato produzido pelo bcp_writefmt é suportado apenas por versões do utilitário bcp distribuído com o SQL Server versão 7.0 e posterior.

Exemplo

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

Ver também

funções de cópia em massa