Aracılığıyla paylaş


bcp_readfmt

Bir veri dosyası biçimi tanımı belirtilen biçim dosyadan okur.

Sözdizimi

RETCODE bcp_readfmt (
        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 içeren dosyanın yolunu ve dosya adını.

Döner

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

Açıklamalar

Sonra bcp_readfmt biçimi değerleri okur, bunu uygun çağrılar bcp_columns ve bcp_colfmt. Biçim dosyasını ayrıştırmak ve bu aramalar yapmak için gerek yoktur.

Biçim dosyasını inat için bcp_writefmt. Aramalar için bcp_readfmt kaydedilmiş biçimleri başvuruda bulunabilir. Daha fazla bilgi için bkz: bcp_init.

Alternatif olarak, toplu programı (bcp) kullanıcı tanımlı veri biçimleri tarafından başvurulan dosyaları kaydedebilirsiniz bcp_readfmt. Hakkında daha fazla bilgi için bcp yarar ve yapısı bcp bkz: biçimi dosyaları veri, Working with Format Files.

BCPDELAYREADFMTDeğeri eOptionparametresi bcp_controldavranışını bcp_readfmt.

[!NOT]

Biçim dosyasını 4.2 veya daha sonraki bir sürümü tarafından üretilen gerekir bcp yarar.

Ö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_IN) == FAIL)
   {
   // Raise error and return.
   return;
   }

if (bcp_readfmt(hdbc, _T("myFmtFile.fmt")) == FAIL)
   {
   // Raise error and return.
   return;
   }

if (bcp_exec(hdbc, &nRowsProcessed) == SUCCEED)
   {
   cout << nRowsProcessed << " rows copied to SQL Server\n";
   }

// 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_IN) == FAIL)
   {
   // Raise error and return.
   return;
   }

if (bcp_readfmt(hdbc, _T("myFmtFile.fmt")) == FAIL)
   {
   // Raise error and return.
   return;
   }

if (bcp_exec(hdbc, &nRowsProcessed) == SUCCEED)
   {
   cout << nRowsProcessed << " rows copied to SQL Server\n";
   }

// Carry on.

Ayrıca bkz.

Başvuru

Toplu kopyalama işlevleri