Как обеспечить массовое копирование данных из переменных приложения (ODBC)
Образец, показывающий использование функций массового копирования для массового копирования данных из переменных программы в SQL Server с помощью bcp_bind и bcp_sendrow. (Код проверки ошибок удален, чтобы упростить пример.)
Полный образец кода находится в файле: BulkCopyFromVariables.cpp, который можно загрузить из страницы SQL Server Code Samples. Этот образец разработан с помощью Microsoft Visual C++ 2005 и предназначен для ODBC версии 3.0 и выше.
Security Note По возможности используйте проверку подлинности Windows. Если проверка подлинности Windows недоступна, запросите у пользователя ввод учетных данных во время выполнения. Избегайте хранения учетных данных в файле. Если необходимо сохранение учетных данных, зашифруйте их с помощью API-интерфейса шифрования Win32.
Использование функций массового копирования непосредственно с переменными программ
Выделите дескриптор среды и дескриптор соединения.
Чтобы включить операции массового копирования, укажите параметры SQL_COPT_SS_BCP и SQL_BCP_ON.
Соединитесь с SQL Server.
Вызовите функцию bcp_init, указав следующие сведения.
Имя таблицы или представления, из которого или в которое будет производиться массовое копирование.
Укажите NULL для имени файла данных.
Имя файла данных, в который сохраняются все сообщения об ошибках массового копирования (укажите значение NULL, если файл для сообщений не требуется).
Направление копирования: DB_IN из приложения в представление или таблицу, или DB_OUT в приложение из таблицы или представления.
Вызовите функцию bcp_bind для каждого столбца в массовой копии, чтобы привязать столбец к переменной программы.
Заполните переменные программы данными и вызовите функцию bcp_sendrow, чтобы передать строку данных.
После передачи нескольких строк вызовите функцию bcp_batch, чтобы установить контрольную точку для уже переданных строк. Рекомендуется вызывать функцию bcp_batch по крайней мере один раз на каждые 1000 строк.
После передачи всех строк вызовите функцию bcp_batch, чтобы завершить операцию.
Можно изменять местонахождение и длину переменных программы во время операции массового копирования, вызывая функции bcp_colptr и bcp_collen. Используйте функцию bcp_control, чтобы установить различные параметры массового копирования. Используйте функцию bcp_moretext для передачи данных text, ntext и image в сегментах на сервер.
См. также