Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Простейшая программа массового копирования выполняет следующие действия.
Вызывает bcp_init , чтобы указать массовое копирование (задать BCP_OUT) из таблицы или представления в файл данных.
Вызовы bcp_exec для выполнения операции массового копирования.
Файл данных создается в собственном режиме; следовательно, данные из всех столбцов таблицы или представления хранятся в файле данных в том же формате, что и в базе данных. Затем файл можно с помощью операции массового копирования скопировать на сервер, выполнив те же шаги и установив значение DB_IN вместо DB_OUT. Это возможно только в случае, когда структура исходной и целевой таблиц идентична. Полученный файл данных также можно ввести в служебную программу bcp с помощью параметра /n (собственный режим).
Чтобы выполнить массовое копирование результирующий набор инструкции Transact-SQL, а не непосредственно из таблицы или представления, выполните следующие действия.
Вызовите bcp_init, чтобы указать массовое копирование, но укажите null для имени таблицы.
Вызовите bcp_control с параметром eOption, равным BCPHINTS, а для iValue — указатель на строку SQLTCHAR, содержащую инструкцию Transact-SQL.
Вызовите bcp_exec для выполнения операции массового копирования.
Инструкция Transact-SQL может быть любой инструкцией, создающей результирующий набор. Создается файл данных, содержащий первый результирующий набор инструкции Transact-SQL. Массовое копирование игнорирует любой результирующий набор после первого, если инструкция Transact-SQL создает несколько результирующих наборов.
Чтобы создать файл данных, в котором данные столбца хранятся в формате, отличном от формата таблицы, вызовите bcp_columns , чтобы указать, сколько столбцов будет изменено, а затем вызовите bcp_colfmt для каждого столбца, формат которого требуется изменить. Это делается после вызова bcp_init , но перед вызовом bcp_exec. bcp_colfmt указывает формат, в котором данные столбца хранятся в файле данных. Его можно использовать при массовом копировании. Вы также можете использовать bcp_colfmt , чтобы задать признаки конца строки и столбца. Например, если данные не содержат символов табуляции, можно создать файл с разделителями табуляции, используя bcp_colfmt , чтобы задать символ табуляции в качестве признака конца для каждого столбца.
При массовом копировании и использовании bcp_colfmt можно легко создать файл форматирования, описывающий созданный файл данных, вызвав bcp_writefmt после последнего вызова bcp_colfmt.
При массовом копировании из файла данных, описанного в файле форматирования, считываете файл форматирования, вызывая bcp_readfmt после bcp_init , но до bcp_exec.
Функция bcp_control управляет несколькими параметрами при массовом копировании в SQL Server из файла данных. bcp_control задает параметры, такие как максимальное количество ошибок перед завершением, строка в файле, с которой начинается массовое копирование, строка, на которой нужно остановиться, и размер пакета.