Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Liest eine Datendatei-Formatdefinition aus der angegebenen Formatdatei.
Syntax
RETCODE bcp_readfmt (
HDBC hdbc,
LPCTSTR szFormatFile);
Argumente
hdbc
Das für das Massenkopieren aktivierte ODBC-Verbindungshandle.szFormatFile
Pfad und Dateiname der Datei, die die Formatwerte für die Datendatei enthält.
Rückgabewert
SUCCEED oder FAIL
Hinweise
Nachdem bcp_readfmt die Formatwerte gelesen hat, führt die Funktion die entsprechenden Aufrufe von bcp_columns und bcp_colfmt durch. Sie brauchen keine Formatdatei zu analysieren, um diese Aufrufe zu tätigen.
Um eine Formatdatei persistent zu speichern, rufen Sie bcp_writefmt auf. Durch den Aufruf von bcp_readfmt kann auf gespeicherte Formate zurückgegriffen werden. Weitere Informationen finden Sie unter bcp_init.
Alternativ dazu kann das Hilfsprogramm zum Massenkopieren (bcp) benutzerdefinierte Datenformate in Dateien speichern, auf die die bcp_readfmt-Methode zurückgreifen kann. Weitere Informationen zum bcp-Hilfsprogramm und zur Struktur von bcp-Datenformatdateien finden Sie unter Massenimport und -export von Daten (SQL Server).
Der BCPDELAYREADFMT-Wert des eOption-Parameters von bcp_control ändert das Verhalten von bcp_readfmt.
Hinweis |
|---|
Die Formatdatei muss in Version 4.2 oder höher des bcp-Hilfsprogramms erzeugt werden. |
Beispiel
// 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.
Hinweis