Laden...

Probleme beim Zugriff auf einen Exchangeserver

Erstellt von Snowwolf3000 vor 19 Jahren Letzter Beitrag vor 19 Jahren 1.418 Views
Snowwolf3000 Themenstarter:in
140 Beiträge seit 2004
vor 19 Jahren
Probleme beim Zugriff auf einen Exchangeserver

Hallo,
also ich hatte eigentlich vor ein paar Daten direkt vom Exchange abzufragen. Ich bekomm aber die Verbindung zum Server irgendwie überhaupt nicht auf die Reihe. Zugreifen wollte ich eigentlich über CDO. Also hab ich mich mal an einen Beispiel von MSDN versucht, der mir irgenwelche Felder auflisten soll (http://support.microsoft.com/default.aspx?scid=kb;en-us;310203). Soweit komm ich allerdings garnicht. Immer wenn ich die Verbindung aufbauen will, bekomm ich das hier:


{"Der Provider kann nicht gefunden werden.  Möglicherweise ist er nicht richtig installiert worden." }

Und hier der dazugehörige Quellcode:


using System;

namespace Samples
{
	class Class1
	{
		static void Main(string[] args)
		{
			try
			{
				ADODB.Connection oCn = new ADODB.Connection();
				ADODB.Record oRc= new ADODB.Record();

				ADODB.Fields oFields;
				ADODB.Field oField;

				// TODO: Replace with your folder URL
				string sFdUrl = "http://MeinExchangeServer/exchange/MeinBenutzerName/Inbox";


				oCn.Provider = "exoledb.datasource";
				oCn.Open(sFdUrl, "MeinBenutzerName", "Passwort", -1); //ab hier geht es schief

				if(oCn.State == 1)
				{
					Console.WriteLine("Good Connection");
				}
				else
				{
					Console.WriteLine("Bad Connection");
				}

				oRc.Open(sFdUrl, oCn,
					ADODB.ConnectModeEnum.adModeReadWrite,
					ADODB.RecordCreateOptionsEnum.adFailIfNotExists,
					ADODB.RecordOpenOptionsEnum.adOpenSource,
					"", "");


				oFields = oRc.Fields;

				for(int i = 0; i < oFields.Count; i++)
				{
					oField = oFields[i];
					Console.WriteLine("{0} : {1}", oField.Name, oField.Value);
				}

				oRc.Close();
				oCn.Close();

				oCn = null;
				oRc = null;
				oFields = null;
				oField = null;
			}
			catch (Exception e)
			{
				Console.WriteLine("{0} Exception caught.", e);
			}
		}
	}


Kann mir jemand sagen was damit gemeint ist, das der Provider nicht richtig installiert ist?

Gruß,
Snowwolf

_
416 Beiträge seit 2005
vor 19 Jahren

Hallo,

das Problem hatte ich auch mal. Zumindest so ein ähnliches. Ich glaube das der "exoledb"-Treiber nur lokal auf dem Exchange-Server funktioniert. Es gibt da aber einen "Adapter"-treiber welcher intern über WebDAV kommuniziert. Leider hab ich jetzt nicht mehr gefunden wie der hieß.

Snowwolf3000 Themenstarter:in
140 Beiträge seit 2004
vor 19 Jahren

Ich denke ich hab gerade das gefunden was du meinst: MSDAIPP

cn.Provider = "msdaipp.dso"

http://support.microsoft.com/default.aspx?scid=kb;en-us;281899
Hörst sich von der Beschreibung ganz genauso an, wie das was du gemeint hast.
Würde es ja gerne gleich testen, aber ich hab daheim keinen Exchange stehen.

Allerdings eine Sache verwirrt mich doch etwas:
IMPORTANT: MSDAIPP is not supported for use with Collaboration Data Objects for
Exchange 2000 Server (CDOEX).

Also wenn ichs richtig verstanden hab benutzte ich damit garnicht CDOEX, sondern WEbDAV zur Kommunikation. Ich meine ist mir solange egal, wie ich nicht diese grausamen WebDAV-Befehle benutzen muss.

_
416 Beiträge seit 2005
vor 19 Jahren

Jaa, genau den meinte ich 🙂

und wie gesagt, der Treiber ist sozusagen ein Adapter. Du kommunizierst also nicht wirklich via CDO, aber du tust so.

Aber wieso ist WebDAV grausam?? Damit bekommt man wahrscheinlich mehr hin als mit CDO, nur das der .Net Support leider noch nicht sehr ausgereift ist(d.h. faktisch nicht vorhanden). Aber wenn man sich reingefunden hat gehts an sich.

Snowwolf3000 Themenstarter:in
140 Beiträge seit 2004
vor 19 Jahren

Was hab ich gegen WebDAV? Also dazu muss ich mal kurz erklären was ich machen soll:
Meine Aufgabe ist es einen Gruppenkalender zu erstellen (oder zu reparieren). Man soll damit also die Outlook Termine von mehreren Leuten gleichzeitig sehen, um Termine vernünftig koordinieren zu können.
Dazu gibt es auch schon ein Programm. Problem bei diesen ist eben das es einige Fehler aufweist. Das Teil ist in Java geschrieben, besteht nur aus WebDAV-Anweisungen die mindestens über 10 Zeilen gehen und <ironie> spitzenmäßig kommentiert sind</ironie>. Das es zu den Source keine Doku gibt versteht sich ja von selbst. 😁 Ach ja die Oberfläche ist mit QT, also c++ geschrieben.
Daher war jetzt mein erster Eindruck von WebDAV mal eher weniger positiv. Hat aber nichts zu bedeuten. Steh halt vor der Frage was ich mit den Teil mache.