D-SQL Vom Datenbank-Container zur SQL Server-Datenbank Uwe Habermann Uwe@hceood.eu
Habermann Consulting EOOD Individualsoftware Branchensoftware Entwicklungsumgebungen Geschäftsführer: Uwe Habermann www.hceood.eu Uwe@hceood.eu Entwicklung in Varna, Bulgarien Hohe Qualität zu günstigen Preisen
Was steht an? Warum SQL Server? Wie kann der Datenzugriff erfolgen? Warum Cursoradapter? Welche Alternativen gibt es? VFX – DBF-CA Wizard VFX – Cursoradapter Wizard VFX – Upsizing Wizard VFX – Manage Config.vfx
Warum SQL Server? „SQLization“ Zugriff mit anderen Technologien Erster Schritt zur Migration Framework großer Vorteil Kapselung des Datenzugriffs Lokale Ansichten -> Cursoradapter -> SQL Server
Warum SQL Server? Geschwindigkeit Datensicherungen Sicherheit Skalierbarkeit
Geschwindigkeit Weniger Datenverkehr über das Netzwerk Arbeit auf lokalem, kleinen Cursor statt auf großer Tabelle über das Netzwerk
Datensicherungen Online möglich Während der Datensicherung kann mit der Datenbank gearbeitet werden Konsistenter Datenbestand garantiert
Sicherheit Nur SQL Server hat Zugriff auf Datenbank Kein Zugriff über das Netzwerk Gekapselter Zugriff auf Datenbank SQL Server führt nur gültige Abfragen aus Nur eine Datenbankdatei Ständiger Zugriff auf Datenbankdatei
Skalierbarkeit Datenbankgröße bis 512 Terabyte Seit 2008 R2 Express bis 10 GB 2005 bis 2008 R1 max. 4 GB Ältere Versionen max. 2 GB Wenig Netzwerkverkehr Mehr gleichzeitige Benutzer möglich
Zugriff auf remote Datenbanken Remote Ansichten SPT – SQL Pass Through Cursoradapter
Remote Ansichten Seit VFP 3 In DBC gespeichert Connection auch in DBC Sicherheitsrisiko: Kennwort kann ausgelesen werden Einfache Umstellung von lokalen Ansichten
SPT – SQL Pass Through Schnell Sicher Hoher Programmieraufwand Connectionstring im Code Hoher Programmieraufwand Kein Zugriff auf DBC (bzw. nur über VFP OBDC-Treiber)
Cursoradapter Seit VFP 8 Objektorientierung Vererbung Viele Einstellmöglichkeiten Auch zur Laufzeit
Cursoradapter VFP Tabelle muss intern mit Tabellennamen als Alias geöffnet werden Datenumgebung von Formularen Austausch von DBF in Cursoradapter grundsätzlich möglich Programmatische Verwendung
VFX – DBF-CA Wizard Migration einer Anwendung Backup in ZIP-Archiv Umbau der Datenbank Tabellenname -> tblTabellenname Cursoradapter generieren Datenumgebung von Formularen DBF -> Cursoradapter
Datenbank umbauen Allen Tabellennamen wird der Präfix tbl vorangestellt Dadurch kann der Alias des CA der alte Tabellenname sein
Cursoradapter erstellen Neue Klassenbibliothek caAppl.vcx Cursoradapter für jede Tabelle Standardeinstellungen wie VFX – Cursoradapter Wizard Erstellung aller Indexschlüssel Alias = alter Tabellenname Keine Änderung von Controlsources erforderlich
Datenumgebungen umbauen Tabellen und Relationen löschen Cursoradapter einfügen Relationen mit VFX – Relation Manager erstellen
Was macht der VFX – DBF-CA Wizard nicht? Keine Bearbeitung von Berichten Keine Unterstützung von Ansichten Keine Cursoradapter für VFX Tabellen (VFX Tabellen werden von VFX intern automatisch behandelt)
Was ist danach zu tun? Programmatischer Zugriff auf Tabellen (USE, SEEK, …) muss angepasst werden Beispiel
VFX – DBF-CA Wizard Manuelle Nacharbeit Bisher Tabelle: USE tabelle Mit Cursoradapter: loTabelle = ; NEWOBJECT(”catbltabelle”) loTabelle.CursorFill()
Vorteile Objektorientierter Datenzugriff Debugging Möglichkeit Verwendung von SQL Server und anderen Remote Datenbanken möglich Zukunftssicher
Upsizing Wizard Vorhandene VFP Datenbank nach SQL Server migrieren Viele Verbesserungen! Aktuelle Version auf https://vfpx.codeplex.com/wikipage?title=Sedna&referringTitle=Home#SQLServerUpsizing
VFX – Upsizing Wizard Ständige Weiterentwicklung Standardmäßig wird der neueste SQL Treiber verwendet SQL Server Native Client 11.0 Unterstützt alle für VFP relevanten Feldtypen
VFX – Upsizing Wizard Upsizing von Zeichenfeldern zu nvarchar oder nchar Vermeidung von Fehlern bei BULK INSERT Constraints für Fremdschlüssel werden nicht generiert, wenn alle RI Regeln auf ignorieren stehen
VFX – Upsizing Wizard Keine Unterstützung von SQL Server 7 (1998/1999) mehr Kleine Fixes bei BulkInsert Fortschrittsanzeige bei JimExport
VFX – Upsizing Wizard BulkInsert FastExport JimExport Einfügen aus generierter Textdatei Sehr schnell FastExport Generiert Stored Procedures JimExport Insert Befehl je Datensatz Langsam, aber Unicode-Unterstützung und geht immer
VFX – Cursoradapter Wizard Generiert Cursoradapter-Klassen Quelldatenbank VFP SQL Server Umfangreich konfigurierbar NULL erlauben!
VFX – Upsizing Wizard Unicode-Unterstützung Je Datensatz(!) anderer Zeichensatz möglich Westlich Kyrillisch Griechisch usw. SQL Server Feldtyp nVarchar DBC Feld Fontcharset
VFX – Upsizing Wizard Seite 4 FontCharSet Field Seite 5 Do not use bulk insert for fast data upload Bulk insert unterstützt kein Unicode
VFX – Manage Config.vfx Verwaltung des Datenzugriffs In Entwicklungsumgebung Zur Laufzeit beim Kunden XML oder CSV Datei In jedem Fall verschlüsselt Zugriff auf VFP Datenbanken SQL Server Datenbanken Andere remote Datenbanken
Weitere Sessions 17:00 – 18:15 D-VFX 19:15 – 20:30 L-VFX
Vielen Dank! Uwe Habermann Uwe@hceood.eu