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.