bcp_readfmt
Считывает определение формата файла данных из определенного файла формата.
Синтаксис
RETCODE bcp_readfmt ( HDBC hdbc, LPCTSTR szFormatFile);
Аргументы
hdbc
Дескриптор соединения ODBC с поддержкой массового копирования.szFormatFile
Путь и имя файла, содержащего значения формата для файла данных.
Возвращаемое значение
SUCCEED или FAIL.
Замечания
После того как bcp_readfmt считает значения формата, она выполнит соответствующие вызовы bcp_columns и bcp_colfmt. Пользователю не требуется производить анализ файла формата и выполнять эти вызовы.
Чтобы сохранить файл формата вызовите bcp_writefmt. Вызовы bcp_readfmt могут ссылаться на сохраненные форматы. Дополнительные сведения см. в разделе bcp_init.
Кроме того, программа массового копирования (bcp) может сохранять определяемые пользователем форматы данных в файлах, на которые может ссылаться метод bcp_readfmt. Дополнительные сведения о программе bcp и структуре файлов формата данных bcp см. в разделе Работа с файлами форматирования.
Примечание |
---|
Файл формата должен быть создан с помощью программы bcp версии 4.2 или более поздней. |
Примеры
// 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.