Д. Использование поставщика BULK функции openrowset совместно с файлом форматирования для получения строк из текстового файла 


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



ЗНАЕТЕ ЛИ ВЫ?

Д. Использование поставщика BULK функции openrowset совместно с файлом форматирования для получения строк из текстового файла



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

1 Data Item 12 Data Item 23 Data Item 3

Файл форматирования values.fmt описывает столбцы в файле values.txt:

9.021 SQLCHAR 0 10 "\t" 1 ID SQL_Latin1_General_Cp437_BIN2 SQLCHAR 0 40 "\r\n" 2 Description SQL_Latin1_General_Cp437_BIN

Это запрос, который возвращает данные:

SELECT a.* FROM OPENROWSET(BULK 'c:\test\values.txt', FORMATFILE = 'c:\test\values.fmt') AS a;

Дополнительные примеры

Дополнительные примеры использования инструкций INSERT...SELECT * FROM OPENROWSET(BULK...) см. в следующих разделах.

· Примеры массового импорта и экспорта XML-документов

· Сохранение значений идентификаторов при массовом импорте данных

· Сохранение значений NULL или использование значений по умолчанию при массовом импорте данных

· Использование файла форматирования для массового импорта данных

· Применение символьного формата при импорте и экспорте данных

· Пропуск столбца таблицы с помощью файла форматирования

· Использование файла форматирования для пропуска поля данных

· Использование файла форматирования для привязки столбцов таблицы к полям файла данных

Примеры массового импорта и экспорта XML-документов

SQL Server 2008 R2
http://technet.microsoft.com/ru-ru/library/ms191184%28v=sql.105%29.aspx

Можно выполнить массовый импорт XML-документов в базу данных SQL Server или осуществить массовый экспорт XML-документов из базы данных SQL Server. В этом разделе приведены примеры и того, и другого.

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

· Программа bcp

Программа bcp может выполнять экспорт везде в базе данных SQL Server, где работает инструкция SELECT, включая секционированные представления.

· BULK INSERT

· Инструкции INSERT... SELECT * FROM OPENROWSET(BULK...)

Дополнительные сведения см. в разделах Массовый импорт и экспорт данных с помощью программы bcp и Массовый импорт данных при помощи инструкции BULK INSERT или OPENROWSET(BULK...).

Примеры

Далее следуют примеры.

· A. Массовый импорт XML-данных в виде двоичного байтового потока

· Б. Массовый импорт XML-данных в существующую строку

· В. Массовый импорт XML-данных из файла, содержащего DTD

· Г. Указание признаков конца поля явным образом при помощи файла форматирования

· Д. Массовый экспорт XML-данных

A. Массовый импорт XML-данных в виде двоичного байтового потока

При массовом импорте XML-данных из файла, содержащего объявление кодировки, которое необходимо применить, нужно указать параметр SINGLE_BLOB в функции OPENROWSET(BULK…). Параметр SINGLE_BLOB гарантирует, что средство синтаксического анализа XML в SQL Server произведет импорт данных в соответствии со схемой кодирования, указанной в XML-декларации.

Образец таблицы

Для проверки примера A необходимо создать образец таблицы T.

USE tempdbCREATE TABLE T (IntCol int, XmlCol xml)GO

Образец файла данных

Перед запуском примера А необходимо создать файл в кодировке UTF-8 (C:\SampleFolder\SampleData3.txt), содержащий следующий образец, который определяет схему в кодировке UTF-8.

<?xml version="1.0" encoding="UTF-8"?><Root> <ProductDescription ProductModelID="5"> <Summary>Some Text</Summary> </ProductDescription></Root>

Пример A

В этом примере используется параметр SINGLE_BLOB в инструкции INSERT... SELECT * FROM OPENROWSET(BULK...) для импорта данных из файла с именем SampleData3.txt и вставки экземпляра данных XML в таблицу с одним столбцом, образец таблицы T.

INSERT INTO T(XmlCol)SELECT * FROM OPENROWSET(BULK 'c:\SampleFolder\SampleData3.txt', SINGLE_BLOB) AS x

Примечания

С помощью параметра SINGLE_BLOB можно избежать несоответствия между кодировкой XML-документа (указанной в объявлении кодировки XML) и кодовой страницей строки, используемой сервером.

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

· Удалить XML-декларацию, чтобы успешно импортировать содержимое XML-файла данных.

· Указать кодовую страницу в параметре CODEPAGE запроса, который соответствует схеме кодирования, используемой в XML-декларации.

· Подобрать настройки параметров сортировки баз данных для схемы кодирования XML-данных, отличной от кодировки Юникод.

[В начало]



Поделиться:


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

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