Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Правка_Руководство к 1 лр.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
115.7 Кб
Скачать

Массовый экспорт или импорт документов sqlxml

Чтобы выполнить массовый экспорт или импорт SQLXML-данных используйте один из следующих типов данных в файле форматирования:

Тип данных

Эффект

SQLCHAR или SQLVARYCHAR

Данные отправляются в кодовой странице клиента или кодовой странице, определенной параметрами сортировки.

SQLNCHAR или SQLNVARCHAR

Данные отправляются в Юникоде.

SQLBINARY или SQLVARYBIN

Данные отправляются без преобразования.

Разрешения

Разрешения функции OPENROWSET определяются разрешениями имени пользователя, переданного поставщику OLE DB. Чтобы использовать параметр BULK, необходимо разрешение ADMINISTER BULK OPERATIONS.

Примеры

А. Использование функции openrowset совместно с инструкцией select и поставщиком ole db для собственного клиента sql Server

В следующем примере для доступа к таблице HumanResources.Department в базе данных База данных AdventureWorks2008R2 на удаленном сервере Seattle1 используется поставщик OLE DB для собственного клиента SQL Server. (При использовании SQLNCLI SQL Server выполнит перенаправление к последней версии поставщика OLE DB для собственного клиента SQL Server.) Инструкция SELECT используется для определения возвращаемого набора строк. Строка поставщика содержит ключевые слова Server и Trusted_Connection. Эти ключевые слова распознаются поставщиком OLE DB для собственного клиента SQL Server.

SELECT a.*

FROM OPENROWSET('SQLNCLI', 'Server=Seattle1;Trusted_Connection=yes;',

'SELECT GroupName, Name, DepartmentID

FROM AdventureWorks2008R2.HumanResources.Department

ORDER BY GroupName, Name') AS a;

Б. Использование поставщика ole db для Jet (Майкрософт)

В следующем примере для доступа к таблице Customers в базе данных Microsoft Access Northwind используется поставщик OLE DB для Jet (Майкрософт).

Примечание

В этом примере предполагается, что Access установлен. Чтобы выполнить этот пример, необходимо установить базу данных Northwind. Дополнительные сведения об установке базы данных Northwind см. в разделе Загрузка образцов баз данных Northwind и pubs.

SELECT CustomerID, CompanyName

FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',

'C:\Program Files\Microsoft Office\OFFICE11\SAMPLES\Northwind.mdb';

'admin';'',Customers);

GO

В. Использование функции openrowset и другой таблицы в предложении inner join

В следующем примере производится выборка всех данных из таблицы Customers базы данных Northwind локального экземпляра SQL Server и из таблицы Orders из базы данных Access Northwind, хранящейся на том же компьютере.

Примечание

В этом примере предполагается, что Access установлен. Чтобы выполнить этот пример, необходимо установить базу данных Northwind. Дополнительные сведения об установке базы данных Northwind см. в разделе Загрузка образцов баз данных Northwind и pubs.

USE Northwind ;

GO

SELECT c.*, o.*

FROM Northwind.dbo.Customers AS c

INNER JOIN OPENROWSET('Microsoft.Jet.OLEDB.4.0',

'C:\Program Files\Microsoft Office\OFFICE11\SAMPLES\Northwind.mdb';'admin';'', Orders)

AS o

ON c.CustomerID = o.CustomerID ;

GO

Г. Использование функции openrowset для массовой вставки данных из файла в столбец varbinary(max)

В следующем примере создается небольшая таблица для демонстрационных целей и вставляются данные из файла с именем Text1.txt, расположенного в корневом каталоге диска C:, в столбец varbinary(max).

USE AdventureWorks2008R2;

GO

CREATE TABLE myTable(FileName nvarchar(60),

FileType nvarchar(60), Document varbinary(max));

GO

INSERT INTO myTable(FileName, FileType, Document)

SELECT 'Text1.txt' AS FileName,

'.txt' AS FileType,

* FROM OPENROWSET(BULK N'C:\Text1.txt', SINGLE_BLOB) AS Document;

GO