Как создать файл форматирования массового копирования (ODBC)

В полном образце показано использование функций массового копирования для создания как файла данных, так и файла форматирования. Образец полного кода находится в файле BulkCopyWithFormat.cpp, который можно загрузить на странице загрузки SQL Server MSDN. Этот образец разработан с помощью Microsoft Visual C++ 2005 и предназначен для ODBC версии 3.0 и выше.

Примечание по безопасностиПримечание по безопасности

При возможности используйте проверку подлинности Windows. Если проверка подлинности Windows недоступна, запросите у пользователя ввод учетных данных во время выполнения. Избегайте хранения учетных данных в файле. Если необходимо сохранить учетные данные, зашифруйте их с помощью API-интерфейса шифрования Win32.

Создание файла форматирования массового копирования

  1. Выделите дескриптор среды и дескриптор соединения.

  2. Чтобы включить операции массового копирования, укажите параметры SQL_COPT_SS_BCP и SQL_BCP_ON.

  3. Соединитесь с SQL Server.

  4. Вызовите функцию bcp_init, указав следующие сведения.

    • Имя таблицы или представления, из которого или в которое будет производиться массовое копирование.

    • Имя файла данных, в котором содержатся данные для копирования в базу данных или который получает данные при копировании из базы данных.

    • Имя файла данных, в который сохраняются все сообщения об ошибках массового копирования (укажите значение NULL, если файл для сообщений не требуется).

    • Направление копирования: DB_OUT – в файл из таблицы или представления.

  5. Вызовите функцию bcp_columns, чтобы задать количество столбцов.

  6. Вызовите функцию bcp_colfmt для каждого столбца, чтобы определить его характеристики в файле данных.

  7. Вызовите функцию bcp_writefmt, чтобы создать файл форматирования, описывающий файл данных, который будет создан операцией массового копирования.

  8. Чтобы выполнить операцию массового копирования, вызовите функцию bcp_exec.

Операция копирования, которая выполняется этим способом, создает как файл данных, содержащий данные массового копирования, так и файл форматирования, описывающий макет файла данных.