Поставщик OLE DB для Exchange
Поставщик Microsoft OLE DB для Exchange представляет данные, хранящиеся в веб-хранилище Microsoft Exchange 2000, в табличной форме. Запрос к этим данным может выполняться при помощи SQL-подобного языка, похожего на подмножество языка SQL, которое поддерживается поставщиком OLE DB для службы Microsoft Indexing Service.
Microsoft SQL Server позволяет выполнять распределенные запросы для получения данных из веб-хранилища Exchange при помощи поставщика OLE DB и соединения их в таблицах SQL Server. Веб-хранилище Exchange должно находиться на том же компьютере, что и SQL Server. Доступ в веб-хранилищам, расположенным на других компьютерах, при помощи поставщика OLE DB для Exchange не производится.
Поставщик OLE DB для Exchange входит в состав Microsoft Exchange 2000.
Создание связанного сервера по отношению к веб-хранилищу Exchange
Укажите 'exoledb.DataSource.1' в качестве аргумента provider_name, а URL-адрес, соответствующий корневой папке веб-хранилища, в качестве аргумента data_source для системной хранимой процедуры sp_addlinkedserver:
EXEC sp_addlinkedserver 'exchange', 'Exchange OLE DB provider', 'exoledb.DataSource.1', 'file:\\.\backofficestorage\localhost\public folders'
Для имен входа, прошедших проверку подлинности Windows, выполнение установления соответствия учетных записей не требуется. SQL Server олицетворяет имя входа, когда производит подключение к поставщику OLE DB для Exchange. Для имен входа, прошедших проверку подлинности сервера SQL Server, настройте соответствие учетной записи, указав при необходимости имя пользователя и пароль.
При запросе данных от поставщика OLE DB для Exchange действуют следующие ограничения.
Поддерживаются только передаваемые запросы. При обращении к поставщику Exchange OLE DB не могут использоваться имена из четырех элементов.
Все символьные столбцы из поставщика OLE DB для Exchange SQL Server представляет как столбцы типа ntext. При выполнении операций сравнения с этими столбцами они должны быть явно преобразованы в тип данных nvarchar функцией CONVERT.
Многозначные столбцы от поставщика веб-хранилища Exchange, имеющие OLE DB-тип DBTYPE_VECTOR, не поддерживаются в распределенных запросах SQL Server.
Доступ к данным веб-хранилища Exchange из SQL Server при использовании ранее настроенного связанного сервера
Создайте представления, получающие необходимые свойства из нужной папки веб-хранилища в виде столбцов. Определение представления преобразует строковые столбцы в тип данных nvarchar, так что они могут быть отфильтрованы по условиям, заданным в предложении WHERE.
Например, пусть веб-хранилище содержит папку Contacts, в которой содержится список контактов. Следующий сценарий создает для папки Contacts представление и получает имя, фамилию, дату рождения и название компании для каждого из контактов.
CREATE VIEW Contacts AS SELECT convert(nvarchar(30),"urn:schemas:contacts:sn") LastName, Convert(nvarchar(30),"urn:schemas:contacts:givenname") FirstName, Convert(nvarchar(30), "urn:schemas:contacts:o") Company, Convert(nvarchar(50), "urn:schemas:contacts:email1") Email, "urn:schemas:contacts:bday" BirthDay FROM OpenQuery(Exchange, 'SELECT "urn:schemas:contact:sn", "urn:schema:contacts:givenname", "urn:schemas:contacts:o", "urn:schemas:contacts:email1", "urn:schemas:contacts:bday" FROM ''.\contacts''')
Теперь эти представления могут запрашиваться или соединяться с локальными таблицами SQL Server точно так же, как и с обычными таблицами. Например, представление Contacts может быть соединено с локальной таблицей Suppliers, чтобы получить контактную информацию для списка компаний-поставщиков.
SELECT FirstName, LastName, Email, Company FROM Suppliers S, Contacts C WHERE S.Company = C.CompanyName
Сведения о языке SQL, поддерживаемом поставщиком Exchange OLE DB, приведены в документации по Microsoft Exchange 2000.
См. также