Könnten Sie mir bei meinem Problem mit Exchange 2000 evtl. behilflich sein???
Ich habe einen Windows 2000 Server auf dem Exchange läuft. Ich möchte aus einer SQL Datenbank Kontakte in den Exchange Server per Script automatisch kopieren lassen und diese Kontakte täglich aktualisieren lassen.
Im moment führe ich eine cmd aus ind der isql gestartet wird ein Script ausführt und die Inforationen in eine Textdatei (.txt) Speichert. Diese Datei importiere ich dann mit Outlook in einen Kontakte Ordner in Exchange der für alle User verfügbar ist. Diese Aktion möchte ich automatisieren und über den Exchange Server abwickeln.
da gibt es ganz sicher einen besseren Weg. Und zwar stellt Outlook/Exchange so hübsche Dinge wie CreateNewItem mit dem Objekttyp OlContactItem (oder so ähnlich) zur Verfügung, die man durch eigene Programmierungen, sei es VBA oder ein SQL-Script, … ansprechen kann. Da würde ich einfach mal in der Online-Doku zu VBA suchen und mir dann ein passendes Progrämmchen bauen, das direkt aus der SQL-Tabelle in den Exchange-Kontakte-Ordner schreibt. Dieses dann auf dem Server per AT zeitgesteuert laufen lassen, sollte dann ja kein Problem mehr sein.
BTW: Mich bitte nicht zu Details der Programmierung fragen, da bin ich kein Spezialist, bastel mir gerade mal Makros unter Word. An Outlook oder Exchange bin ich noch nicht selbst über VBA drangegangen.
Gruß vom Wiz
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Ja ok, wo finde ich dieses denn genau?? Im Outlook oder im
Exchange?? Wichtig ist es mir das es eine saubere Lösung ist!
du solltest dich mal mit einem Programmierer in Verbindung setzen, der „fließend Office“ spricht. Die von Office und Backoffice zur Verfügung gestellten Objekte und Klassen sind extrem umfangreich und können über alle gängigen Programmiersprachen angesprochen werden. Einen ersten Einblick erhälts du über die VBA-Hilfe, die du erreichst, wenn du z.B. unter Outlook die Makroprogrammierung aufrufst. Dort könntest du dann z.B. auch versuchen eine entsprechende Lösung als VBA-Projekt unter Outlook zu lösen. Sinnvoller wäre aber auf jeden Fall ein direkt auf dem Exchange- oder Datenbankserver laufender Job, der dir die ganze Arbeit zeitgesteuert abnimmt. Weitere Infos findest du in den Office und Backoffice SDKs von MS.
Die Programmierung selbst dürfte dann nicht weiter tragisch sein. Einfach nur der Reihe nach die Datensätze aus der SQL-Tabelle lesen und überprüfen, ob schon ein Equivalent im Exchange-Kontakte-Ordner vorhanden ist. Wenn nein, dann einfach einen Kontakt mit den entsprechenden Daten anlegen, sonst im vorhandenen Kontakt die in der SQL-Tabelle vorhandenen Feldwerte über die gespeicherten Werte schreiben. Damit erreicht man dann, dass im Exchange zusätzliche Feldwerte eingetragen und erhalten werden können. Alternativ kann man die Kontakte im Exchange natürlich auch zuerst komplett löschen und dann wieder aus der SQL-Tabelle komplett neu anlegen. Dazu noch ein wenig Fehlerbehandlung für momentan im Zugriff Dritter stehende Felder, fertig.