Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вся метода 3 (2).doc
Скачиваний:
3
Добавлен:
01.05.2025
Размер:
1.15 Mб
Скачать

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

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

Табл. 2.3

Форматы данных

Формат данных

Параметр Ьср

Конструкция BULK INSERT

Описание

Встроенный

-п

DATAFILETYPE

='native'

Использует встроенные типы данных (из базы данных). Хранение информации во встроенном формате полезно при копировании информации из одного экземпляра SQL Server в другой. Использование встро­енного формата экономит время и место на диске, позволяя избежать излишнего преобразования типов данных в символьный формат и обратно. Однако файл с данными во встроенном формате не может прочитать ни одна программа, кроме Ьср

Символьный

DATAFILETYPE= 'char'

Использует символьный формат данных (char) для всех столбцов, при этом разделителями полей по умолчанию являются символы табуляции, а разделителями строк — символ перевода строки. В символьном формате полезно хранить данные, предназначенные для использования в других программах (например, в электронных таблицах), а также когда необходимо скопировать в SQL Server данные из другой СУБД. Символьный формат часто используется при копировании данных из других программ, поддерживающих экспорт и импорт данных в простом текстовом формате использование для всех столбцов символьного формата Unicode. При этом разделителями полей по умолчанию являются символы табуляции, а разделителями строк — символы перевода строки. Данные в этом формате могут быть скопированы с сервера (использующего кодовую страницу, отличную от той, которую применяет работающий с Ьср клиент) на другой сервер. Последний может обращаться к той же кодовой странице, что и исходный сервер (или к другой кодовой странице). Этот формат предотвращает любые потери символьных данных, если на исходном и целевом серверах используется тип данных Unicode. Даже если на одном из этих серверов не поддерживается тип данных Unicode, потери расширенных символов минимальны Использует встроенные типы данных (из базы данных) для данных всех не символьных данных, а для всех символьных данных (char, nchar, varchar, nvarchar, text и ntext) — формат Unicode

По умолчанию утилита Ьср работает в интерактивном режиме и запрашивает необхо­димую для определения формата данных информацию у SQL Server и у пользователя. Однако при использовании параметров -п, -с, -w или -N Ьср не запрашивает сведения о каждом из столбцов таблицы SQL Server по отдельности. Вместо этого SQL Server читает и записывает данные в заданном формате по умолчанию.

По умолчанию оператор BULK INSERT работает в символьном режиме (char), интерактивный режим не применяется.

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