1 / 26

Datenbanksynchronisation

Datenbanksynchronisation. Venelina Jordanova Venelina@VandU.eu. Uwe Habermann Uwe@VandU.eu. Synchronisierung. Wofür brauche ich das? Datenabgleich mit Filialen Datenabgleich mit Vertretern Datenabgleich mit Außenstellen Wenn Online-Verbindung nicht (immer) möglich ist. Synchronisierung.

talen
Download Presentation

Datenbanksynchronisation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Datenbanksynchronisation VenelinaJordanova Venelina@VandU.eu Uwe Habermann Uwe@VandU.eu

  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 = www.outsourcingitservices.net • 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 14.00 Uhr geht es weiter

More Related