Hallo shmia,
vielen Dank für deine schnelle Hilfe. Habe mich mit deinen Tipps einen Augenblick beschäftigt.
Zitat von
shmia:
Deine Aufgabe lässt sich über
SQLDMO erledigen.
Dazu im Delphi-Menü:
Projekt->Typbibliothek installieren... und "Microsoft SQLDMO Object Library" auswählen und
Unit anlegen klicken.
Du wirst nun von der Anzahl der Interfaces fast erschlagen (100 oder mehr ?).
Welches Interface du wie ansteuern musst, kann dir am ehesten in einem MS Forum erklärt werden.
Über SQLDMO hast du die Kontrolle über alles was mit dem
SQL Server zu tun hat; es ist nur etwas viel für den Anfang.
http://support.microsoft.com/kb/324992/
Hier mußte ich diverse Klassen erstmal neu benamslen, da Klassen wie "TApplication" natürlich schon bekannt waren. Und das dann eben Xmal. Dann gabs beim kompilieren noch ein paar Fehler. Anschließend stand ich vor dem Problem, welche der Komponenten es denn nun tun könnte, wie du schon vermutest hast.
Um es kurz zu machen, ich habe die Synchronisationsfunktion von XP genutzt, zu finden unter Start / Alle Programme / Zubehör / Synchronisieren. Das, was ich aus meinen Programm machen wollte, kann ich auch übers Betriebssystem steuern. Keep it simple ...
Es läuft nun wie folgt:
1). Delphi Programm starten
2). "Mandanten" auswählen, also die
SQL DB, mit der man verbunden sein will (Zentral =
SQL Server = Netzwerk oder Mobil =
MSDE = lokal)
3). Will man synchronisieren, dann über Start / Alle Programme / ..... / Synchronisieren. Fertig
Läuft einwandfrei und ist super simple. Damit hat man auch die drohende Vielzahl von Sychronisations Jobs (der Merge Push Agenten) vom SQLServer genommen. Die Richtung ist quasi umgedreht, also vom Client initiiert. Die Merge Pull Agenten laufen lokal auf der jeweiligen
MSDE. Macht auch deshalb Sinn, weil man für Merge Push Agenten nicht die Option "on demand" einstellen kann, sondern diese nur zeitgesteuert/ereignisgesteuert laufen. Ich wollte ja nur dann synchronisieren, wenn der Mitarbeiter mit seinen Laptop am Netz hängt und es explizit ausführt.
Gruß, Andreas