OLE DB-Anbieter für Exchange
Der Microsoft OLE DB-Anbieter für Exchange macht Daten verfügbar, die in einem Microsoft Exchange 2000-Webstore in tabellarischer Form gespeichert sind. Diese Daten können mithilfe einer SQL-artigen Sprache abgefragt werden, die stark vergleichbar mit der vom OLE DB-Anbieter für die Microsoft-Indexdienstleistung unterstützten SQL-Teilmenge ist.
Verteilte Microsoft SQL Server 2005-Abfragen können zur Abfrage von Daten aus dem Exchange-Webstore über diesen OLE DB-Anbieter verwendet und mit Tabellen in SQL Server verknüpft werden. Der Exchange-Webstore sollte sich auf demselben Computer befinden wie SQL Server. Auf Webstores, die sich auf anderen Computern befinden, kann nicht mithilfe des OLE DB-Anbieters für Exchange zugegriffen werden.
Der OLE DB-Anbieter für Exchange steht als Teil von Microsoft Exchange 2000 zur Verfügung.
So erstellen Sie einen Verbindungsserver für einen Exchange-Webstore
Verwenden Sie
'exoledb.DataSource.1'
als provider_name-Argument und den URL, der dem Stammverzeichnis des Webstores entspricht, als data_source-Argument der gespeicherten Systemprozedur sp_addlinkedserver.EXEC sp_addlinkedserver 'exchange', 'Exchange OLE DB provider', 'exoledb.DataSource.1', 'file:\\.\backofficestorage\localhost\public folders'
Für Anmeldungen über die Windows-Authentifizierung sind keine Anmeldungszuordnungen erforderlich. Die Identität der Anmeldungen wird von SQL Server angenommen, wenn die Verbindung mit dem OLE DB-Anbieter für Exchange hergestellt wird. Bei Anmeldungen über die SQL-Authentifizierung richten Sie Anmeldungszuordnungen ein, indem Sie den Benutzernamen und das Kennwort angeben.
Die folgenden Einschränkungen gelten, wenn Daten aus dem OLE DB-Anbieter für Exchange abgefragt werden:
- Es werden nur Pass-Through-Abfragen unterstützt. Vierteilige Namen können nicht mit dem Exchange-OLE DB-Anbieter verwendet werden.
- Alle Zeichenspalten des OLE DB-Anbieters für Exchange werden in SQL Server als ntext-Spalten verfügbar gemacht. Um Vergleiche mit diesen Spalten auszuführen, müssen sie mithilfe der CONVERT-Funktion explizit zu nvarchar konvertiert werden.
- Mehrwertige Spalten des Exchange-Anbieters mit OLE DB DBTYPE DBTYPE_VECTOR werden nicht von verteilten Abfragen in SQL Server unterstützt.
So greifen Sie von SQL Server aus über einen bereits eingerichteten Verbindungsserver auf Daten im Exchange-Webstore zu
Erstellen Sie Sichten, die die erforderlichen Eigenschaften als Spalten aus dem entsprechenden Webstore-Ordner abrufen. Die Sichtdefinition konvertiert Zeichenfolgenspalten zu nvarchar, sodass sie über Bedingungen in der WHERE-Klausel gefiltert werden können.
Angenommen, der Webstore enthält einen Ordner namens
Contacts
, der eine Liste mit Kontaktpersonen enthält. Das folgende Skript erstellt eine Sicht für den OrdnerContacts
und ruft Vornamen, Nachnamen, Firmennamen und Geburtsdatum der Kontaktperson ab.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''')
Jetzt können die Sichten abgefragt und mit lokalen SQL Server-Tabellen wie reguläre Tabellen verknüpft werden. So kann beispielsweise die Sicht
Contacts
mit einer lokalenSuppliers
-Tabelle verknüpft werden, um die Informationen zur Kontaktperson (Contact) für die Liste der Supplier-Firmen zu bestimmen.SELECT FirstName, LastName, Email, Company FROM Suppliers S, Contacts C WHERE S.Company = C.CompanyName
Informationen zur SQL-Sprache, die vom Exchange OLE DB-Anbieter unterstützt wird, finden Sie in der Dokumentation zu Microsoft Exchange 2000.
Siehe auch
Konzepte
Verteilte Abfragen
Mit SQL Server getestete OLE DB-Anbieter