OLE DB Provider for Exchange

O Microsoft OLE DB Provider for Exchange expõe dados armazenados em um Repositório na Web do Microsoft Exchange 2000. Esses dados podem ser consultados usando uma linguagem de tipo SQL que é semelhante ao subconjunto SQL que tem suporte do OLE DB Provider for Microsoft Indexing Service.

As consultas distribuídas do Microsoft SQL Server podem ser usadas para consultar dados no Repositório na Web do Exchange por meio do Provedor OLE DB Provider e podem ser unidas a tabelas do SQL Server. O Repositório na Web do Exchange deve estar localizado no mesmo computador que o SQL Server. Repositórios na Web localizados em outros computadores não podem ser acessados usando o OLE DB Provider for Exchange.

O OLE DB Provider for Exchange está disponível como parte do Microsoft Exchange 2000.

Para criar um servidor vinculado em relação a um Repositório na Web do Exchange

  • Use 'exoledb.DataSource.1' como o argumento de provider_name e a URL correspondente à pasta raiz do Repositório na Web como o argumento de data_source do procedimento armazenado do sistema sp_addlinkedserver:

    EXEC sp_addlinkedserver 'exchange', 
    'Exchange OLE DB provider', 
    'exoledb.DataSource.1',
    'file:\\.\backofficestorage\localhost\public folders'
    
  • Para logons autenticados do Windows nenhum mapeamento de logon é necessário. Os logons são representados pelo SQL Server quando ele se conecta ao OLE DB Provider for Exchange. Para logons autenticados do SQL Server, configure mapeamentos de logon fornecendo o nome e a senha do usuário, conforme necessário.

As seguintes restrições se aplicam ao consultar dados do OLE DB Provider for Exchange:

  • Há suporte apenas para consultas passagem. Nomes de quatro partes não podem ser usados em relação ao provedor OLE DB do Exchange.

  • Todas as colunas de caracteres do OLE DB Provider for Exchange são expostas para o SQL Server como colunas ntext. Para executar comparações em relação a essas colunas, as colunas devem ser convertidas explicitamente em nvarchar usando a função CONVERT.

  • Colunas com vários valores do provedor do Exchange com OLE DB DBTYPE DBTYPE_VECTOR não têm suporte de consultas distribuídas do SQL Server.

Para acessar dados no Repositório na Web do Exchange do SQL Server por meio de um servidor vinculado conforme estabelecido anteriormente

  • Crie exibições que recuperam as propriedades necessárias como colunas da pasta do Repositório na Web de interesse. A definição da exibição converte colunas de cadeia de caracteres em nvarchar para que possam ser filtradas por condições na cláusula WHERE.

    Por exemplo, permita que o Repositório na Web contenha uma pasta nomeada Contacts que contém uma lista de contatos. O script a seguir cria uma exibição em relação à pasta Contacts e recupera o nome, sobrenome, nome da empresa e data de nascimento de cada contato.

    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''')
    

    Agora as exibições podem ser consultadas e unidas com tabelas locais do SQL Server como tabelas normais. Por exemplo, a exibição Contacts pode ser unida com uma tabela local Suppliers para determinar informações de contato de empresas fornecedoras.

    SELECT FirstName, LastName, Email, Company
    FROM    Suppliers S, Contacts C
    WHERE S.Company = C.CompanyName
    

Para obter informações sobre a linguagem SQL com suporte do provedor OLE DB do Exchange, consulte a documentação do Microsoft Exchange 2000.