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-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 die URL, die 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 Ordner Contacts 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 lokalen Suppliers-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.