Опубликован: 11.12.2006 | Доступ: свободный | Студентов: 5820 / 381 | Оценка: 4.42 / 3.86 | Длительность: 57:15:00
Лекция 24:

Загрузка базы данных

Программа массового копирования (BCP)

С помощью BCP вы можете выполнять копирование из файла данных в SQL Server или из SQL Server в файл данных. BCP полезна для передачи данных в SQL Server из других баз данных, а также для передачи данных, создаваемых пользователем. В этом разделе вы узнаете об использовании программы BCP и ее параметров, а также о форматировании данных, чтобы их можно было копировать с помощью BCP в SQL Server и из SQL Server.

Синтаксис BCP

BCP – это исполняемая из командной строки программа, которая вызывается из окна приглашения на ввод команды (окна командной строки). Для BCP требуется указывать определенные обязательные параметры, и вы можете использовать с этой программой много дополнительных (необязательных) параметров. Ниже приводится формат команды BCP. (Указаны все обязательные и необязательные параметры.)

bcp    {[[имя_базы_данных.][владелец].]{имя_таблицы | имя_представления} | "запрос"}
       {in | out | queryout | format} файл_данных
       [-m максимум_ошибок] [-f форматный_файл] [-e файл_ошибок]
       [-F первая_строка] [-L последняя_строка] [-b размер_группы]
       [-n] [-c] [-w] [-N] [-V (60 | 65 | 70)] [-6]
       [-q] [-C кодовая_страница] [-t ограничитель_полей] [-r разделитель_строк]
       [-i входной_файл] [-o выходной_файл] [-a размер_пакета]
       [-S имя_сервера[\имя_экземпляра]] [-U login_id] [-P пароль]
       [-T] [-v] [-R] [-k] [-E] [-h "подсказка [,...n]"]
Обязательные параметры

Обязательные параметры указывают, в частности, местоположение для извлечения данных и местоположение для вставки данных. Как уже говорилось, с помощью BCP вы можете извлекать данные из файла данных и помещать их таблицу (или представление) SQL Server или извлекать данные из таблицы (или представления) и помещать их в файл данных.

Вы можете указывать таблицу или представление, используемые в операции массового копирования, одним из двух способов. Во-первых, вы можете использовать параметр определение_таблицы/представления. Самое простое определение состоит из имени таблицы или представления. Как показано выше в формате этой команды, вы можете задавать имя базы данных, где находится указанная таблица или представление, и/или владельца таблицы или представления. Если имя базы данных не указано, то это принятая по умолчанию база данных, указанная в учетной записи подключения (login) данного пользователя. (Об определении пользователя см. "Управление пользователями и системой безопасности" )

В качестве альтернативного способа вы можете указывать таблицу или представление с помощью запроса. Используя этот способ, вы указываете, какие данные будут извлекаться из этой таблицы или представления. (Чтобы указать таблицу или представление для извлечения или вставки данных можно использовать параметр определение_таблицы/представления. Этот запрос заключается в кавычки и может состоять из оператора SELECT с предложениями, такими как ORDER BY. Если вы задаете определение запроса, вы должны также задать параметр queryout (см. табл. 24.1).

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

И наконец, вы должны задать один или несколько параметров, перечисленных в табл. 24.1.

Таблица 24.1. Управляющие описатели массового копирования
Параметр Описание
In (В базу данных) Указывает, что массовое копирование будет выполняться из файла данных в таблицу или представление базы данных SQL Server
Out (Из базы данных) Указывает, что массовое копирование будет выполняться из таблицы или представления базы данных SQL Server в файл данных
Queryout (Извлечение с помощью запроса) Указывает, что данные будут извлекаться из базы данных SQL Server с помощью определенного запроса. Затем операция массового копирования будет копировать данные, выбранные с помощью этого запроса, в файл данных
Format (Формат) Указывает, что в дополнение к операции массового копирования программа BCP будет создавать форматный файл. Для создания этого форматного файла используются параметры форматирования ( -n, -c, -w, -6 или -N ) и ограничители (разделители) таблицы или представления. Параметр format должен использоваться в сочетании с опцией -f. Форматный файл позволяет вам сохранять определения программы BCP, чтобы вам не требовалось повторять их при последующем использовании BCP