Поделиться через


bcp_writefmt

Создает файл форматирования, содержащий описание формата текущего файла данных массового копирования.

Синтаксис

        RETCODE bcp_writefmt (        HDBC hdbc,        LPCTSTR szFormatFile);

Аргументы

  • hdbc
    Дескриптор соединения ODBC с поддержкой массового копирования.

  • szFormatFile
    Путь и имя пользовательского файла, принимающего значения формата файла данных.

Возвращаемое значение

SUCCEED или FAIL.

Замечания

Файл форматирования определяет формат данных, содержащихся в файле данных, создаваемом при массовом копировании. Вызовы bcp_columns и bcp_colfmt определяют формат файла данных. bcp_writefmt сохраняет это определение в файле, на который ссылается szFormatFile. Дополнительные сведения см. в разделе bcp_init.

Дополнительные сведения о структуре файлов форматирования данных bcp см. в разделе Работа с файлами форматирования.

Для загрузки сохраненного файла форматирования используется bcp_readfmt.

ПримечаниеПримечание

Файл форматирования, созданный bcp_writefmt, поддерживается только версиями программы bcp, которые поставляются SQL Server версии 7.0 и более поздних.

Примеры

// 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_OUT) == FAIL)   {   // Raise error and return.   return;   }if (bcp_columns(hdbc, 3) == FAIL)   {   // Raise error and return.   return;   }bcp_colfmt(hdbc, 1, SQLCHARACTER, 0, SQL_VARLEN_DATA, '\t', 1, 1);bcp_colfmt(hdbc, 2, SQLCHARACTER, 0, SQL_VARLEN_DATA, '\t', 1, 2);bcp_colfmt(hdbc, 3, SQLCHARACTER, 0, SQL_VARLEN_DATA, '\t', 1, 3);if (bcp_writefmt(hdbc, _T("myFmtFile.fmt")) == FAIL)   {   // Raise error and return.   return;   }if (bcp_exec(hdbc, &nRowsProcessed) == SUCCEED)   {   printf_s("%ld rows copied from SQL Server\n", nRowsProcessed);   }// Carry on.

См. также

Справочник