Aracılığıyla paylaş


bcp_writefmt

Şunlar için geçerlidir: Sql ServerAzure SQL VeritabanıAzure Synapse AnalyticsAnalytics Platform Sistemi (PDW)Azure SQL Veritabanı

Geçerli toplu kopyalama veri dosyasının biçiminin açıklamasını içeren bir biçim dosyası oluşturur.

Sözdizimi

  
RETCODE bcp_writefmt (  
        HDBC hdbc,  
        LPCTSTR szFormatFile);  

Unicode ve ANSI adları:

  • bcp_writefmtA (ANSI)
  • bcp_writefmtW (Unicode)

Bağımsız değişken

hdbc
Toplu kopyalama özellikli ODBC bağlantı tutamacıdır.

szFormatFile
Veri dosyasının biçim değerlerini alacak kullanıcı dosyasının yolu ve dosya adıdır.

Döndürür

BAŞARI VEYA BAŞARISIZ.

Açıklamalar

Biçim dosyası, toplu kopyalama tarafından oluşturulan bir veri dosyasının veri biçimini belirtir. bcp_columns çağrıları ve bcp_colfmt veri dosyasının biçimini tanımlar. bcp_writefmt bu tanımı szFormatFiletarafından başvuruda bulunılan dosyaya kaydeder. Daha fazla bilgi için bkz. bcp_init.

bcp veri biçimi dosyalarının yapısı hakkında daha fazla bilgi için bkz. bcp Yardımcı Programı (SQL Server) kullanarak Toplu Verileri İçeri ve Dışarı Aktarma.

Kaydedilmiş bir biçim dosyasını yüklemek için bcp_readfmtkullanın.

Not

bcp_writefmt tarafından üretilen biçim dosyası yalnızca SQL Server sürüm 7.0 ve üzeri ile dağıtılan bcp yardımcı programının sürümleri tarafından desteklenir.

Örnek

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

Ayrıca Bkz.

Toplu Kopyalama İşlevleri