Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Uwe Habermann Datenbanksynchronisation Venelina Jordanova

Ähnliche Präsentationen


Präsentation zum Thema: "Uwe Habermann Datenbanksynchronisation Venelina Jordanova"—  Präsentation transkript:

1 Uwe Habermann Datenbanksynchronisation Venelina Jordanova

2 Synchronisierung * Wofür brauche ich das? * Datenabgleich mit Filialen * Datenabgleich mit Vertretern * Datenabgleich mit Außenstellen * Wenn Online-Verbindung nicht (immer) möglich ist

3 Synchronisierung * Features * Mehrere Datenbanken in einem Ordner oder in verschiedenen Ordnern * Freie Tabellen * Berücksichtigung von Berechtigungen durch eigenen Code möglich * Unterstützung von Löschungen

4 Wie geht das? * FTP Protokoll * 1 Server – viele Clients * Austausch von Ini Dateien * Austausch von Zip Dateien mit Daten * Parallelbetrieb von Server und Client

5 Voraussetzungen beim Server * Ab Windows 2000 * IIS und FTP Server * Benutzerkonto mit FTP Zugriffsrechten * Die Zungangsdaten sind den Clients bekannt * Ordner mit FTP Zugriffsrechten * Dienst installieren * Dll registrieren

6 Installation des Servers * Benutzerkonto mit FTP Zugriffsrechten anlegen * Ordner mit FTP Zugriffsrechten anlegen * Dienst installieren * Dll registrieren * Server.ini Datei anlegen

7 Server.ini [FOLDERS] CLIENTINIFOLDER=C:\Inetpub\ftproot\FTPSync\CLIENTINI SERVERINIFOLDER=C:\Inetpub\ftproot\FTPSync\SERVERINI CLIENTDATAFOLDER=C:\Inetpub\ftproot\FTPSync\CLIENTDATA SERVERDATAFOLDER=C:\Inetpub\ftproot\FTPSync\SERVERDATA CLIENTCONFIRMATIONFOLDER=C:\Inetpub\ftproot\FTPSync\CLIENTCONFIRMATION SERVERCONFIRMATIONFOLDER=C:\Inetpub\ftproot\FTPSync\SERVERCONFIRMATION CREATEDATABASEPRGFOLDER=DATABASES [\FOLDERS] [DATABASES] [C:\FTPSYNC\DATA\vfp],[vfp] [\DATABASES] [TIMER] SYNCHRONIZATIONEXE=C:\FTPSync\FTPSyncServer.exe *!* Timeouts and delay are in seconds INITIMEOUT=60 DATATIMEOUT=60 CONFIRMATIONTIMEOUT=60 DELAY=0.5 *!* In log files it will be written if only the file exist SERVICELOGFILE=C:\TEMP\SYNCSERVICE.LOG SERVERLOGFILE=C:\TEMP\SYNCSERVER.LOG [\TIMER]

8 Voraussetzungen beim Client * Internetverbindung * FTP muss möglich sein (frei in Firewall) * Port konfigurierbar, Standard 21 * Normale VFP 9 Anwendung muss laufen * Ini Datei mit Pfadeinstellungen * Protokollierung in Log Datei möglich

9 Voraussetzungen beim Client * Die Synchronisierung von gelöschten Datensätzen funktioniert nur, wenn mit Cursoradaptern gearbeitet wird

10 Server Komponenten * Windows Dienst * Exe Datei? * DLL auf dem Server

11 Client Komponenten * Klassenbibliotheken * VfxFtpSync.vcx * VfxFtpSyncClient.vcx * VfxFtpSyncClientBase.vcx

12 Integration in VFPizza * Vorbereitetes Projekt verwenden!

13 Anforderungen an die Datenbank * Wir empfehlen GUIDs zu verwenden * Feldtyp C(36) * Von der Datenbank vergebene Primärschlüssel werden nicht unterstützt!

14 Anforderungen an die Datenbank * Es müssen folgende Felder in allen zu synchronisierenden vorhanden sein: * Edt_Date T * Edt_Usr C(36) * Ins_Date T * Ins_Usr C(36) * Del_Flag N(1) * Sync_Date T

15 Appl.vcx - cFoxAppl *.cDel_Fld = Del_Flag *.lFillEditDateForNewRecords =.T. *.lUseGUIDsKeys =.T. *.lUseUTCTime =.T.

16 VFXSDef.dbf * Ein Datensatz enthält alle für FTP erforderlichen Einstellungen

17 VFXSDef.dbf * FtpUrl = * FtpPort = 21 * FtpUpIni = FTPSync/CLIENTINI * FtpDwnIni = FTPSync/SERVERINI * FtpUpData = FTPSync/CLIENTDATA * FtpDwnData = FTPSync/SERVERDATA

18 VFXSDef.dbf * FtpUpConf = FTPSync/CLIENTCONFIRMATION * Ftpdwnconf = FTPSync/SERVERCONFIRMATION * Ftpuser = * Ftppass =

19 Start der Synchronisierung * Neues Formular basierend auf cForm * Per Drag&Drop cFtpsyncclient aus VfxFtpSyncClient auf das Formular fallenlassen * Commandbutton auf das Formular ziehen

20 Start der Synchronisierung * Im Click Ereignis schreiben: llRes = ThisForm.oFtpSyncClient.Execute() Wait Window llRes

21 Vfxfopen.dbf * Eintrag für das neue Formular hinzufügen

22 Client.ini [DATABASES] [DATA\vfp],[vfp] [\DATABASES] [TIMER] INITIMEOUT=30 DATATIMEOUT=30 CONFIRMATIONTIMEOUT=30 DELAY=0.5 CLIENTLOGFILE=SYNCCLIENT.LOG [\TIMER]

23 Jetzt kann getestet werden!

24 Und jetzt auch noch Code… * VfxFtpSyncClient.vcx * cFtpSyncClient * Kann bei Bedarf angepasst werden * Insbesondere SELECT

25 Ablauf der Synchronisierung * Ini Upload * Datenaufbereitung beim Server * Datenaufbereitung beim Client * Upload einer Zip Datei * Download einer Zip Datei * Auspacken des Archivs * Integration der Daten in die Datenbank

26 Das Mittagessen wartet… Um Uhr geht es weiter


Herunterladen ppt "Uwe Habermann Datenbanksynchronisation Venelina Jordanova"

Ähnliche Präsentationen


Google-Anzeigen