Операции массового импорта и массового экспорта 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Операции массового импорта и массового экспорта



SQL Server поддерживает массовый экспорт данных из таблиц SQL Server и массовый импорт данных в таблицы или несекционированные представления SQL Server. Доступны следующие основные методы.

Метод Описание Импортирует данные Экспортирует данные
программа bcp Программа командной строки (Bcp.exe - Bulk Copy Program), массово экспор-тирующая и импортирую-щая данные и создающая файлы форматирования. Да Да
инструкция BULK INSERT Инструкция Transact-SQL, импортирующая данные непосредственно из файла данных в таблицу базы данных или несекциониро-ванное представление. Да Нет
Инструкция INSERT... SELECT * FROM OPENROWSET(BULK...) Инструкция Transact-SQL, использующая поставщик больших наборов строк OPENROWSET для массово-го импорта данных в таб-лицу SQL Server с помощью функции OPENROWSET (BULK…), применяющейся для выборки данных в инструкцию INSERT. Да Нет

Операции массового импорта в SQL Server не поддерживают импорт данных из CSV-файла с разделителями-запятыми. Однако на 32-разрядных системах можно импортировать данные CSV-файла в таблицу SQL Server без оптимизации операций массового импорта, используя функцию OPENROWSET с поставщиком OLE DB для Jet. Поставщик Jet обрабатывает текстовые файлы как таблицы со схемой, определенной в файле schema.ini, который расположен в том же каталоге, что и источник данных. Для CSV-данных одним из параметров в файле schema.ini будет «FORMAT=CSVDelimited». Чтобы использовать такое решение, нужно представлять принципы работы поставщика Jet Test IISAMm: знать синтаксис строки соединения, правила использования schema.ini, параметры реестра и т. д. Лучшими источниками для получения таких сведений служат справка Microsoft Access и статьи базы знаний. Дополнительные сведения см. в разделах Инициализация драйвера текстового источника данных, Как использовать распределенный запрос SQL Server 7.0 со связанным сервером для защищенных баз данных Access, Как использовать поставщика Jet OLE DB 4.0 для подключения к базам данных ISAM (на английском языке) и Как открыть файлы с тестом с разделителями с помощью поставщика текста Jet (на английском языке).

Внутри- и внепроцессная операция

Инструкция BULK INSERT и функция OPENROWSET(BULK) в SQL Server выполняются внутри процесса, совместно используя одно и то же адресное пространство памяти. Так как файлы данных открываются процессом SQL Server, данные не копируются между клиентским процессом и процессами SQL Server. Сведения о вопросах безопасности при импорте данных с помощью инструкций BULK INSERT или INSERT... SELECT * FROM OPENROWSET(BULK...) см. в разделе Массовый импорт данных при помощи инструкции BULK INSERT или OPENROWSET(BULK...).

Команда bcp (Bulk Copy Program ), напротив, запускается вне процесса. Чтобы переместить данные через пространства памяти процесса, программа bcp должна использовать межпроцессорный сортировщик данных (Маршалинг). Межпроцессный Маршалинг данных является процессом преобразования параметров вызова метода в поток байтов. Это может значительно увеличить загрузку процессора. Однако так как bcp производит синтаксический анализ и преобразует данные в собственный формат хранения в клиентском процессе, она может освободить процесс SQL Server от обработки и преобразования данных. Поэтому, если имеется ограничение ЦП, производительность массового импорта будет выше при использовании команды bcp на компьютере с несколькими ЦП или на разных компьютерах, чем при использовании команд BULK INSERT или INSERT... SELECT * FROM OPENROWSET(BULK).

Файлы форматирования

Программа bcp, инструкции BULK INSERT и INSERT... SELECT * FROM OPENROWSET(BULK...) поддерживают использование специализированного файла под названием файл форматирования для хранения сведений о форматировании для каждого поля в файле данных. Файл форматирования также может содержать сведения о соответствующей таблице SQL Server. Файл форматирования может быть использован с целью предоставления всех сведений о форматировании, необходимых для массового экспорта данных из экземпляра SQL Server и массового импорта данных в него.

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

SQL Server 2005 и более поздние версии поддерживают два типа файлов форматирования: XML и не-XML файлы форматирования. Файлы форматирования в формате, отличном от XML, поддерживаются ранними версиями SQL Server; поддержка XML-файлов форматирования появилась только в SQL Server 2005.

Единственный инструмент, который может сформировать файл форматирования, — это программа bcp. Дополнительные сведения см. в разделе Создание файла форматирования. Дополнительные сведения о файлах форматирования см. в разделе Файлы форматирования для импорта или экспорта данных.



Поделиться:


Последнее изменение этой страницы: 2016-12-11; просмотров: 177; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 44.223.70.167 (0.007 с.)