Как выполнить массовое копирование без файла форматирования (ODBC)
В завершенном образце показывается, как использовать функции массового копирования для создания собственного файла данных. Завершенный образец кода содержится в файле BulkCopyNativeMode.cpp, который можно загрузить со страницы Загрузки SQL Server в MSDN. Этот образец разработан с помощью Microsoft Visual C++ 2005 и предназначен для ODBC версии 3.0 и выше.
Примечание по безопасности |
---|
При возможности используйте проверку подлинности Windows. Если проверка подлинности Windows недоступна, запросите у пользователя ввод учетных данных во время выполнения. Избегайте хранения учетных данных в файле. Если необходимо сохранить учетные данные, зашифруйте их с помощью API-интерфейса шифрования Win32. |
Для массового копирования без файла форматирования
Выделите дескриптор среды и дескриптор соединения.
Чтобы включить операции массового копирования, укажите параметры SQL_COPT_SS_BCP и SQL_BCP_ON.
Соединитесь с SQL Server.
Вызовите функцию bcp_init, указав следующие сведения.
Имя таблицы или представления, из которого или в которое будет производиться массовое копирование.
Имя файла данных, в котором содержатся данные для копирования в базу данных или который получает данные при копировании из базы данных.
Имя файла данных, в который сохраняются все сообщения об ошибках массового копирования (укажите значение NULL, если файл для сообщений не требуется).
Направление копирования: DB_IN из файла в представление или таблицу, или DB_OUT из таблицы или представления в файл.
Чтобы выполнить операцию массового копирования, вызовите функцию bcp_exec.
Когда установлен DB_OUT при выполнении данных шагов, файл создается в собственном формате. Файл затем можно массово скопировать на сервер, выполняя эти простые шаги, за исключением того, что вместо DB_IN необходимо установить DB_OUT. Это работает только если таблица исходная и целевая таблицы имеют абсолютно одинаковую структуру.
См. также