Exchange용 OLE DB 공급자
Exchange용 Microsoft OLE DB 공급자는 Microsoft Exchange 2000 Web Store에 저장된 데이터를 테이블 형식으로 제공합니다. Microsoft 인덱싱 서비스 OLE DB 공급자에서 지원하는 SQL 하위 집합과 유사한 점이 많은 SQL 유사 언어를 사용하면 이 데이터를 쿼리할 수 있습니다.
Microsoft SQL Server 분산 쿼리는 이 OLE DB 공급자를 통해 Exchange Web Store에서 데이터를 쿼리하는 데 사용할 수 있으며 SQL Server의 테이블과 조인할 수 있습니다. Exchange Web Store는 SQL Server와 같은 컴퓨터에 있어야 합니다. Web Store가 다른 컴퓨터에 있으면 Exchange용 OLE DB 공급자를 사용하여 액세스할 수 없습니다.
Exchange용 OLE DB 공급자를 Microsoft Exchange 2000의 일부로 사용할 수 있습니다.
Exchange Web Store에 대해 연결된 서버를 만들려면
provider_name 인수로 'exoledb.DataSource.1'을 사용하고, sp_addlinkedserver 시스템 저장 프로시저의 data_source 인수로 Web Store의 루트 폴더에 해당하는 URL을 사용합니다.
EXEC sp_addlinkedserver 'exchange', 'Exchange OLE DB provider', 'exoledb.DataSource.1', 'file:\\.\backofficestorage\localhost\public folders'
Windows 인증 로그인의 경우 로그인 매핑이 필요하지 않습니다. Exchange용 OLE DB 공급자에 연결할 때 SQL Server가 로그인 매핑을 가장하기 때문입니다. SQL Server 인증 로그인의 경우 필요에 따라 사용자 이름과 암호를 제공하여 로그인 매핑을 설정합니다.
Exchange용 OLE DB 공급자의 데이터를 쿼리할 때는 다음 제한이 적용됩니다.
통과 쿼리만 지원됩니다. Exchange용 OLE DB 공급자에 대해서는 4부분으로 된 이름을 사용할 수 없습니다.
Exchange용 OLE DB 공급자의 모든 문자 열은 SQL Server에 ntext 열로 제공됩니다. 이러한 열에 대해 비교를 수행하려면 CONVERT 함수를 사용하여 해당 열을 nvarchar로 명시적으로 변환해야 합니다.
SQL Server 분산 쿼리는 Exchange 공급자의 OLE DB DBTYPE DBTYPE_VECTOR를 갖는 다중값 열을 지원하지 않습니다.
이전에 설정된 연결된 서버를 통해 SQL Server에서 Exchange Web Store의 데이터를 액세스하려면
필요한 속성을 Web Store 폴더에서 열로 검색하는 뷰를 만듭니다. 뷰 정의는 문자열 열을 nvarchar로 변환하므로 문자열 열이 WHERE 절의 조건을 통해 필터링될 수 있습니다.
예를 들어 Web Store에 연락처 목록이 포함된 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
Exchange OLE DB 공급자에서 지원하는 SQL 언어에 대한 자세한 내용은 Microsoft Exchange 2000 설명서를 참조하십시오.