Feedback

C# - Outlook: Via OLEDB schnell auf Outlook-Daten zugreifen

Veröffentlicht von am 03.11.2006
(4 Bewertungen)
OLEDB-Datenzugriff ist ein effizienter Weg, um Daten aus Outlook abzurufen. Dieses Snippet ermöglicht sofortigen Zugriff auf das gesamte Outlook-Postfach.
// using System.Data.OleDb; // Nicht vergessen!

/// <summary>
/// Gibt den Inhalt eines bestimmten Outlook-Ordners als Tabelle zurück.
/// (Wurde nur mit einer deutschen Outlook-version getastet!)
/// </summary>
/// <param name="mapiProfile">Name des MAPI-Profils (z.B. "MS Exchange-Einstellungen"), einzusehen in Systemsteuerung -> Mail</param>
/// <param name="displayUserName">Anzeigename des Benutzers (z.B. "Max Mustermann")</param>
/// <param name="folderName">Name des Ordners (z.B. "Posteingang")</param>
/// <returns>Inhalt des Outlook-Ordners</returns>
private DataTable GetOutlookFolderData(string mapiProfile, string displayUserName, string folderName)
{ 
    // Verbindungszeichenfolge erzeugen
    string connectionString = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Exchange 4.0;MAPILEVEL=Postfach - {0}|;PROFILE={1};TABLETYPE=0;DATABASE={2};",displayUserName,mapiProfile,Environment.GetEnvironmentVariable("TEMP"));

    // SQL-Abfrage erzeugen
    string sql = string.Format("SELECT * FROM {0}", folderName);

    // Neue Tabelle erzeugen
    DataTable result = new DataTable(folderName);

    // Verbindung zu Outlook herstellen
    using (OleDbConnection connection = new OleDbConnection(connectionString))
    {
        // Datenadapter bauen
        OleDbDataAdapter adapter = new OleDbDataAdapter(sql, connection);

        // Inhalt des Outlook-Ordners abrufen
        adapter.Fill(result);
    }
    // Tabelle mit Ordnerinhalt zurückgeben
    return result;
}

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!