Программирование >>  Реализация баз данных 

1 ... 66 67 68 [ 69 ] 70 71 72 ... 162


ГЛАВА 7

Управление

и манипулирование

данными

Занктке 1. Импорт и экспорт данных i200

Занятие 2. Доступ к внешним данным с помощью

распределенных запросов 210

Занятие 3, Извлечение данных с помощью курсоров 218

Занятие 4. Извлечение данные 1224

Закрепление материала :236

В этой главе

В главе 6 мы рассказали, как просматривать и модифицировать данные в БД SQL Server. Эта глава другим методикам управления, манипулирования, импорта и экс-

порта данных; вы узнаете, как манипулировать гетерогенными данными, использовать курсор ct-SQL и извлекать данные в формате XML (Extensible Markup Language).

Прежде всего

Для изучения материалов этой главы вам понадобится:

SQL Server 2000 Enterprise Edition, установленный на компьютере под управлением

Windows 2000 Server;

возможность зарегистрироваться в качестве администратора на компьютере под управлением Windows 2000 Server и SQL Server;

результаты упражнений из глав 3, 4 и 5.



200 Управление и манипулирование данными Глава 7

Занятие 1 Импорт и экспорт данных

Скорее всего первое, что вам придется сделать после настройки базы данных, - импортировать в нее данные из внешнего источника. С импортированными данными можно работать пр ощи операторов Transact-SQL и других инструментов для просмотра и моди-фикшии данных. Импорт - это процесс получения данных из внешних по отношению к SQL Server источников (например, из текстового файла ASCII) и размещение их в таблицам Server. Обратный процесс - экспорт - это извлечение данных из экземпляра SQL Server в определенном заданном пользователем формате (например, копирование содержимого таблицы SQL Server базу данных Microsoft Access). На этом занятии вы узнаете, как копировать данные из БД SQL Server с помощью утилиты командной строки Ьер. а также как средствами оператора BULK INSERT импортировать в базу данные из файла. Служба DTS (Data Transformation Services) также позволяет извлекать, трансформировать и объединять данные из самых различных источников.

Изучив материал этог №ТИЯ, вы сможете:

импортировать и экспортировать данные с помощью утилиты командной строки iv; .

импортировать данные с помощью оператора BULK INSERT; рассказать о способах извлечения, трансформации

и объединения данных с помощью DTS.

Продолжительность занятия - около 30 минут.

Использование утилитср и оператора BULK INSERT

Утилита командной строка ran и рует данные из БД SQL Server i- файл и обратно. Чаще ее применяют для переноса больших объемов данных из другой программы (как правило, из другой СУБД) в таблицу SQL Server. При использовании утилит Ьср сначала выполняется экспорт данных из программы-источника в файл, а затем импорт данных из файла в таблицу SQL Server. Кром ш, Ьср позволяем госнть данные из таблицы SQL Server в файл, предназначенный для использовании другими программами, например Microsoft

Есть и другой способ переноса данных из файла в таблицу SQL Server - с помощью оператора BULK INSERT. Однако он не предназначен для копирования больших объемов данных из экземпляра SQL Server в файл. Чтобы выполнить такую процедуру средствами оператора BULK применяют утилиту при работе оператора Transact-SQL (а не в командной строке).

Дабы использовать для добавления данных утилиту и оператор BULK INSERT, которые содержатся в файле, следует разбить на строки и столбцы. SQL Server принимает данные в любом ASCII- или двоичном формате, если можно определить разделители (символы, которыми разделяются столбцы и строки). Структура файла иногда не идентична структуре таблицы SQL поскольку и BULK INSERT допускают про-

пуск столбцов или изменение их последовательности во время копирования большого объема данных.

При этом данные к содержимому таблицы SQL Server. При копировании

большого объема данных из SQL в файл данные записываются поверх

содержимого файла.



Использование различных форматов данных

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

Нужно помнить о следующих правилах:

данные разрешается импортировать только в существующую таблицу, а при экспорте данных в файл утилита btp создает новый файл. Число или порядок полей в файле может не совпадать с числом или порядком в таблице;

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

для копирования большого объема данных необходимы соответствующие праваш tv -

па к исходному и целевому файлам и таблицам: для копирования из файла в таблицу

необходимо иметь права доступа INSERT и SELECT для таблицы, а для копирования из таблицы или представления в файл - право доступа SELECT для копируемой таблицы или представления.

Следующая командср копирует данные ицы Publishers в базе данные в файл Publishers.txt:

Ьср pubs. , publishers ou ers.txt -с -Т

В команде сначала указана база данных (Pubs) и таблица (Publishers), откуда будут извлечены данные. Ключевое слово out задает экспорт данных из таблицы в файл Publishers.txt; параметр -с задает символьные и ) формат данных, а параметр -Т определяет использование для подключения к SQL Server доверенного соединения. В содержимое файла Pub-lishers.txt войдут все данные таблицы Publishers. Д.пя просмотра данных годится текстовый редактор, например Блокнот.

Утилита командной строка Ьср также позволяет выполнить копирование большого объема данных из файла Publishers.txt в таблицу Publishers2 базы данных Pubs:

Ьср риЫз. , publi5hers2 rs.txt -с -Т

Обратите внимание, что в этой команде вместо out использовано ключевое слово in. После как эта команда будет исполнена, можно вставить в таблицу все

данные из файла Publishers.txt.

Большой объем данных в таблицу также копируют с помощью оператора

BULK INSERT и такого инструмента для работы с запросами, как, например, Query Analyzer:

Use Pubs

BULK INSERT Publisher32 FROM i-Xpublishers.txt WITH (DATAFILETYPE = CHAR)

Прежде чем массовое копирование данных в таблицу

ее необходимо создать.



1 ... 66 67 68 [ 69 ] 70 71 72 ... 162

© 2006 - 2025 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика