Combining SQL Server tables and Exchange Web Services


Have you tried programmatically combining the two powerful enterprise tools: SQL Server 2005 (table-valued user-defined functions) with Exchange Server 2007(Exchange Web Services)?Combining SQL Server 2005 (table-valued user-defined functions)  with Exchange Server 2007 (Exchange Web Services) I followed the Microsoft article written by Jim Kleewein and Ray Dixon, which talks about how we can combine the SQL Server tables and Exchange Web Services to provide data from both Microsoft Exchange and SQL Server to client applications so that the data appears as if it were stored in SQL Server.

SQL Server tables:

Table-valued user-defined functions in SQL Server return a table, much like a SQL Server view, but provide for much more powerful logic.

Exchange Web Services:

Exchange Web Services in Exchange 2007 provides access to Exchange store items and information, such as message, contact, task, and calendar items and availability information.

SQL Server tables & SQL Server tables:

When you combine these technologies, you have a formidable new way to integrate, search, and analyze your Microsoft Exchange messaging data by using the full power of SQL Server, and to combine that messaging data with virtually any other data managed by, or available from, SQL Server.

Still, what you can achieve?

Per the article, by combining these technologies, you can:

  • Correlate information that is stored in Microsoft Exchange (messages, contacts, calendar items, tasks, and so on) with customer relationship management (CRM) data that is stored in SQL Server.
  • Join Microsoft Exchange contacts data with sales data.
  • Combine messaging data with any SQL Server data; for example, combine e-mail with call center data for customer support.
  • Correlate information from different calendar resources.
  • Add a subset of messaging data to a SQL Server data repository.

This list provides some ideas, but is not all-inclusive.

How can i start to create a sample or with an existing sample to see how it works?

I found a downloadable sample demonstrates a powerful integration of Microsoft® Exchange Server 2007 and Microsoft SQL Server™ 2005 features. This integration enables you to provide data from both Microsoft Exchange and SQL Server to client applications so that the data appears as if it were stored in SQL Server.

Note:

  • To execute the sample, you need to have Exchange Server 2007 along with Client Access server role (CAS ) enabled, SQL Server 2005 & VS2005 to modify or build the sample
  • This sample is designed to work with the following authentications SQL Server Authentication, SQL Server user authentication and UserId with Password authentication.
  • Per the above article, this sample is intended for instructional purposes only and is not meant to be used in a production environment.
  • Once you downloaded the sample and if you are currently running Windows Vista, save the ExchangeUDF.exe file locally before you run it. To extract the files, right-click the executable and select Run as administrator.

So what will be the process workflow for it?
Per the article, it talks about the following SQL Server tables and Exchange Server workflow. The following figure shows the process that the SQL Server Tables and Exchange Web Services sample with the following steps:

  1. The user requests information from the computer that is running Microsoft SQL Server.
  2. The computer that is running SQL Server acts as a Microsoft Exchange client by requesting data from the Client Access server by using Exchange Web Services.
  3. The Client Access server communicates with the Microsoft Exchange computer that is running the Unified Messaging server role or the user to request the specified data from the mailbox for the user.
  4. The Unified Messaging server responds to the request.
  5. The Client Access server returns the response to the computer that is running SQL Server by using Exchange Web Services.
  6. The computer that is running SQL Server combines the requested Microsoft Exchange data with the requested SQL Server data and returns the single set of data to the user.

Just i tried this. So, what are you waiting then, please follow through the above articles and practices mentioned there. I am sure you’ll love this…

Skip to main content