Aracılığıyla paylaş


Bcp_writefmt

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

Sözdizimi

RETCODE bcp_writefmt (
        HDBC hdbc,
        LPCTSTR szFormatFile);

Bağımsız değişkenler

  • hdbc
    Toplu kopyalama etkin odbc bağlantı tanıtıcısı olduğunu.

  • szFormatFile
    Veri dosyası biçimi değerleri almak için kullanıcı dosyası yolu ve dosya adı olur.

Döner

BAŞARILI veya başarısız.

Açıklamalar

Biçim dosyasını toplu kopyalama tarafından oluşturulan bir veri dosyası veri biçimini belirtir. Aramalar için bcp_columns ve bcp_colfmt veri dosyasının biçimini tanımlar. Bcp_writefmt bu tanım tarafından başvurulan dosya kaydeder szFormatFile. Daha fazla bilgi için bkz: bcp_init.

Yapısı hakkında daha fazla bilgi için bcp bkz: biçimi dosyaları veri, Working with Format Files.

Kaydedilmiş biçimi dosyasını yüklemek için bcp_readfmt.

[!NOT]

Tarafından üretilen biçim dosyasını bcp_writefmt sadece sürümleri tarafından desteklenir bcp ile dağıtılan yardımcı SQL Serversürüm 7.0 ve sonrası.

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

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

Başvuru

Toplu kopyalama işlevleri