Connecting to Exchange or Outlook

Chia sẻ: Bui Tuan | Ngày: | Loại File: PDF | Số trang:3

0
40
lượt xem
4
download

Connecting to Exchange or Outlook

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

[ Team LiB ] Recipe 1.10 Connecting to Exchange or Outlook Problem You want to use ADO.NET to extract data from Microsoft Outlook or Microsoft Exchange. Solution Use the OLE DB Jet provider to access Exchange and Outlook data. The sample code contains two event handlers

Chủ đề:
Lưu

Nội dung Text: Connecting to Exchange or Outlook

  1. [ Team LiB ] Recipe 1.10 Connecting to Exchange or Outlook Problem You want to use ADO.NET to extract data from Microsoft Outlook or Microsoft Exchange. Solution Use the OLE DB Jet provider to access Exchange and Outlook data. The sample code contains two event handlers: Form.Load Displays a form that allows the user to specify the mailbox name and mail profile to connect to. Connect Button.Click Creates and opens a connection to Outlook or Exchange data using the OLE DB .NET data provider. A DataAdapter is used to fill a table with the Subject and Content of each message in the Inbox. The default view of the table is bound to a data grid on the form. The C# code is shown in Example 1-8. Example 1-8. File: ConnectExchangeDataForm.cs // Namespaces, variables, and constants using System; using System.Windows.Forms; using System.Data; using System.Data.OleDb; // . . . private void ConnectExchangeDataForm_Load(object sender, System.EventArgs e) { mailboxNameTextBox.Text = "Personal Folders"; profileTextBox.Text = "Outlook";
  2. } private void connectButton_Click(object sender, System.EventArgs e) { String sqlText = "SELECT Subject, Contents FROM Inbox"; // Build the connection string. String connectionString="Provider=Microsoft.Jet.OLEDB.4.0;" + "Outlook 9.0;" + "MAPILEVEL=" + mailboxNameTextBox.Text + "|;" + "PROFILE=" + profileTextBox.Text + ";" + "TABLETYPE=0;" + "DATABASE=" + System.IO.Path.GetTempPath( ); // Create the DataAdapter. OleDbDataAdapter da = new OleDbDataAdapter(sqlText, connectionString); // Create and fill the table. DataTable dt = new DataTable("Inbox"); try { da.Fill(dt); dataGrid.DataSource = dt.DefaultView; } catch(Exception ex) { MessageBox.Show("ERROR: " + ex.Message); return; } } Discussion The .NET data provider for OLE DB does not support OLE DB Version 2.5 interfaces including the Microsoft OLE DB Provider for Exchange. The Jet OLE DB provider can access an Outlook or Exchange store. An example of the connection string: Microsoft.Jet.OLEDB.4.0;Outlook 9.0;MAPILEVEL=Personal Folders|; PROFILE=Outlook;TABLETYPE=0;DATABASE=c:\temp; The connection string attributes-and-value pairs are described in Table 1-1. Table 1-1. Outlook or Exchange connection string attributes
  3. Element Description DATABASE=path Database With an Identifier of Outlook 9.0, the path to store temporary system tables. name With an Identifier of Exchange 4.0, the path and filename to a Microsoft Access database in which to store temporary system tables. Outlook 9.0 to connect to Outlook 2000 and later. Identifier Exchange 4.0 to connect to Exchange 4.x and 5.x. PASSWORD=password Password Outlook or Exchange password. This parameter is not required if your network logon password is passed to the Outlook or Exchange server. This parameter is optional. PROFILE=profile Profile name The name of the Outlook or Exchange profile to use. If this not specified, the default profile is used. MAPILEVEL=| is the exact mailbox name on the server, a personal folder, or public folder as it appears in the Outlook Folder list. Table path is the path to the folder immediately above the folder to access using the SQL statement. The folder path is required only when accessing folders below the top level of folders within the store; the pipe (|) character is always required. When listing nested folders, separate each folder name with a backslash (\). TABLETYPE=0 for folders (default value). Table type TABLETYPE=1 for address books. [ Team LiB ]
Đồng bộ tài khoản