Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Belirtilen biçim dosyasından bir veri dosyası biçim tanımını okur.
Sözdizimi
RETCODE bcp_readfmt (
HDBC hdbc,
LPCTSTR szFormatFile);
Unicode ve ANSI adları:
- bcp_readfmtA (ANSI)
- bcp_readfmtW (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 içeren dosyanın yolu ve dosya adıdır.
Döndürür
BAŞARI VEYA BAŞARISIZ.
Açıklamalar
bcp_readfmt biçim değerlerini okuduktan sonra bcp_columns ve bcp_colfmtiçin uygun çağrıları yapar. Biçim dosyasını ayrıştırmanıza ve bu çağrıları yapmanıza gerek yoktur.
Bir biçim dosyasını kalıcı hale getirmek için bcp_writefmtçağrısında bulunabilirsiniz. bcp_readfmt çağrıları kaydedilen biçimlere başvurabilir. Daha fazla bilgi için bkz. bcp_init.
Alternatif olarak, toplu kopyalama yardımcı programı (bcp), kullanıcı tanımlı veri biçimlerini bcp_readfmttarafından başvurulabilen dosyalara kaydedebilir. bcp yardımcı programı ve bcp veri biçimi dosyalarının yapısı hakkında daha fazla bilgi için bkz. Verileri Toplu İçeri ve Dışarı Aktarma (SQL Server).
bcp_controleOption parametresinin BCPDELAYREADFMT değeri bcp_readfmt davranışını değiştirir.
Not
Biçim dosyası, bcp yardımcı programının 4.2 veya sonraki bir sürümü tarafından oluşturulmalıdır.
Ö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.