Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
1
Client / Server mit Visual FoxPro 9.0
C/S Client / Server mit Visual FoxPro 9.0 deutschsprachige FoxPro User Group Rainer Becker Microsoft Visual FoxPro 9.0 WebCast
2
Teil 4: Arbeiten mit C/S Mittwoch, 13.7.2005, 16:00 – 17:00 Uhr
Microsoft Visual FoxPro ist schon seit einem Jahrzehnt ein beliebtes Frontend für Client/Server-Datenbanken wie Microsoft SQL-Server. Über die Hälfte der FoxPro-Entwickler weltweit entwickelt auch oder ausschliesslich Anwendungen auf Basis von MSDE und/oder SQL-Server. In der neuen Version 9.0 von Microsoft Visual FoxPro werden diese Möglichkeiten noch weiter ausgebaut. Unter anderem wurde die Cursor Adaptor-Klasse stark verbessert und weitere Werkzeuge wie der Dataexplorer werden zur Verfügung gestellt.
3
Rainer Becker dFPUG VFP-Entwicklerkonferenz VFP-Lokalisierung
Online-Angebote Loseblattsammlung VFP-Entwicklerkonferenz VFP-Lokalisierung Framework Visual Extend MVP, MCP, ISV Wizards & Builders GmbH
4
Wie bekomme ich VFP ? Update von 6.0, 7.0, 8.0 sowie VS 97
Nicht von VFP 5.0 oder früher Internationale und US/Canada-Version Preisunterschied durch Dollarverfall Technisch identisch Kein Support / Marketingbudget für US-Version in BRD dFPUG bietet exklusiv „Deutsche Version“ Benutzeroberfläche, Berichtsdesigner, Werkzeuge
5
Zum Warmlaufen: DataExplorer
Vorstellung: Neues Werkzeug DataExplorer Aufrufbar aus der Taskpane oder direkt Datenzugriff (Ersatz für Enterprise Manager) Codegenerierung Anpassbarkeit direkt oder über Quellcode Ab VFP 9.0 SP1: evtl. freie Mitlieferbarkeit
6
Die Idee Eine Anwendung soll so erstellt werden, dass beim Kunden entschieden werden kann, ob mit einer VFP-Datenbank oder mit einem SQL Server gearbeitet werden soll. Alle Formulare und Klassen müssen unabhängig von der Datenquelle sein.
7
Die Möglichkeiten Remote Views SPT (SQL Pass Through) CursorAdapter
Basierend auf einer Connection im DBC gespeichert SPT (SQL Pass Through) Native Datenbank- oder ODBC-Syntax Beliebige Befehle/Scripts verarbeitbar (Fast) vollständige Kontrolle über Befehlsausführung Für „normale“ Anwendungsfälle eher umständlich Nichts für die einfache Portierbarkeit CursorAdapter
8
Remote Views vs. CursorAdapter
Remote View und Connection im DBC gespeichert Nachteil: DBC muss verwendet werden Verbindungsinformationen im Klartext lesbar (!) CursorAdapter als programmatische oder visuelle Klasse in die Exe-Datei eingebunden Zur Laufzeit beliebig konfigurierbar Mit DBC und Remote Datenbanken einsetzbar Vererbung möglich für bessere Wartbarkeit
9
Vorteile SQL Server Verfügbarkeit Datensicherheit Skalierbarkeit
Clients haben keinen Einfluss auf die Serverdatenbank Wartungsaufgaben und Backup im laufenden Betrieb Datensicherheit Datenbank ist vor direktem Zugriff geschützt Security-Modell Skalierbarkeit
10
Nachteile SQL Server Betreuungsaufwand Lizenzkosten
Qualifiziertes Betreuungspersonal notwendig Einzelne Tabellen können nicht kopiert oder ersetzt werden Lizenzkosten Oder kostenlos für den Einstieg: SQL Server Desktop Engine (MSDE) SQL Server 2005 Express Oder VAR-Vertrag mit Microsoft
11
Optimierungsmöglichkeiten DBF
Verzeichniskomprimierung (+10% Performance!) Virusfilter für Endungen abschalten Verzicht auf Verschlüsselung (siehe oben) Verzicht auf Indizes mit wenig Unterscheidung Abschaltung Opportunistic Locking Hardware Mehrere / schnellere Netzwerkkarten User auf Stränge verteilen (z.B. 10 User/Strang) Gute HD-Controller mit viel Cache (notfalls) Verteilung von DBF und CDX auf versch. Festplatten
12
Querverweise 03-21 Schützen einer Tabelle in einem DBC
Verwendung von Datenbankcontainerereignissen 03-23 Schützen von VFP Daten Verhindert Sichtbarkeit des Datenverzeichnisses und somit Zugriff durch Endanwender! 03-24 Die Normalisierung von Daten generell und immer sinnvoll und notwendig
13
Upsizing VFP Upsizing Wizard xCase (und andere Tools)
Update für SQL-Server 2005 angekündigt xCase (und andere Tools) Gute VFP-Unterstützung Möglichkeit zur Massenänderung (DBFs!) Ankündigung in eigener Sache VFX Upsizing Wizard
14
Die Lösung CursorAdapter Vorteile:
Klasse – Vererbung, Eigenschaften, Methoden Erstellter Cursor ähnlich Ansicht Einheitlicher Datenzugriff Datenzugriff auf DBC und SQL Server möglich Umschaltbarkeit zur Laufzeit Typkonvertierung möglich Builder in VFP vorhanden -> Beispiel
15
Wie macht man es richtig?
CursorAdapter-Klasse verwenden ConnectionManager ConnectionManager liest Datenbankinformationen aus Konfigurationsdatei Wichtig: CursorAdapter-Funktionalität unbedingt in einer Klasse speichern -> keine Änderung in der Datenumgebung von Formularen beim Wechsel der Datenquelle
16
Programmstart Im Init Ereignis des Anwendungsobjekts wird der ConnectionManager instanziiert Aus einer verschlüsselten Tabelle werden die Datenbankinformationen gelesen Beim Instanziieren eines CursorAdapters wird vom ConnectionManager eine Connection geholt Die CursorAdapter-Klasse verwendet die Informationen des ConnectionManagers (Der gezeigte Code ist frei downloadbar)
17
CursorAdapter Klasse Herstellen der Verbindung zur Datenbank über den ConnectionManager Holen von ID-Werten Wartbarkeit Eingriffsmöglichkeit an vielen Stellen BeforeUpdate, AfterUpdate
18
IDs IDs sollten von der Datenbank vergeben werden
CursorAdapter ermöglichen diese IDs nach dem Speichern aus der Datenbank zu holen InsertCmdRefreshCmd – wird nach dem Insert ausgeführt – Hier können IDs geholt werden GETAUTOINCVALUE() bei DBC select * from <myTable> where <IdField>=GETAUTOINCVALUE() bei SQL Server
19
Connection Manager Klasse
Instanziierung ohne Datenanbindung Herstellen einer(!) Verbindung beim ersten Bedarf Auslesen der Datenbankinformationen aus einer Datei möglich Eine Connection für alle Datenzugriffe der Anwendung Verwendung mehrerer Datenbanken in einer Anwendung In einer Eigenschaft jedes CursorAdapters steht der zu verwendende Connection Manager
20
Planen einer neuen Anwendung
Nur mit CusorAdapter Klasse arbeiten! Connection Manager verwenden Vorteile: Es wird nur 1 Verbindung benötigt Austauschbarkeit der Datenquelle Wechsel von DBC zu SQL möglich Entscheidung je Kunde ob DBC oder SQL verwendet werden soll
21
Ein Beispiel aus der Praxis
VFP VFP? Venelina´ Fanstastic Pizzas
22
VFPizza Customers.scx Erstellt mit dem VFX - Form Builder
Steuerlemente zur Eingabe von Parametern hinzugefügt CursorAdapter mit dem CA Wizard erstellt SelectCmd um Where-Klausel erweitert
23
VFPizza Orders.scx 1:n Formular Erstellt mit dem VFX - Form Builder
Steuerlement zur Eingabe von Parametern hinzugefügt CursorAdapter mit dem CA Wizard erstellt SelectCmd um Where-Klausel erweitert
24
Datenquellen bearbeiten Beispiel: Manage Config.vfx
Verwaltung des Datenzugriffs sinnvoll / notwendig Dialog in der Anwendung beim Kunden praktisch Problemloser Wechsel zwischen DBC und SQL Server ConnectionString empfehlenswert Verschlüsselung mit Kennwort Einstellung mit dem Application Builder goprogram.cconfigpassword
25
Test Läuft die Anwendung mit DBC und SQL Server?
Download Beispiel mit Quellcode unter files90/VFPizza90.zip (kein VFX benötigt!)
26
CursorAdapter Klasse Was ist neu?
Maximale Länge eines Eigenschaftwerts bei Eingabe: 8 KB Auto-Refresh-Unterstützung InsertCmdRefreshFieldList, InsertCmdRefreshCmd, InsertCmdRefreshKeyFieldList, UpdateCmdRefreshFieldList, …, RefreshTimestamp Erweiterte Refresh-Unterstützung RecordRefresh(), BeforeRecordRefresh(), … Verzögertes Abrufen von Memofeldern DelayedMemoFetch(), FetchMemoDataSource, … Transaktionen bei Update, Insert, Delete: Eigenschaft UseTransactions Besseres Konflikthandling ConflictCheckType / ConflictCheckCmd (SP1) Neue Eigenschaft TimestampFieldList Lesen und Schreiben von hierarchischen XML Diverse Erweiterungen bzgl. ADO
27
Weiterführendes Material
Visual FoxPro 9.0 Updatebuch Roadshow-CD Lokalisierungs-CD Visual FoxPro 8.0 Deutsche Hilfedatei Online-Angebote der dFPUG Forum, Portal, eNewsletter, Homepage, Wiki
28
Teil 5: Arbeiten mit Berichten
Mittwoch, , 16:00 – 17:00 Uhr Die objektorientierte Entwicklungsumgebung und relationale Datenbank Microsoft Visual FoxPro liefert seit jeher eine Vielzahl von Werkzeugen gleich mit. Besonders beliebt ist dabei der Berichtsgenerator, der lizenzkostenfrei an alle Anwender mitgeliefert werden darf. In der neuen Version 9.0 wurde der Berichtsgenerator grundlegend überarbeitet und massiv erweitert. Behandelt werden die neuen Werkzeuge für die Gestaltung und Anzeige von Berichten durch Entwickler und im neuen geschützten Modus durch Endanwender sowie die neuen Anforderungen an die Auslieferung der Komponenten mit der Anwendung.
29
Teil 6: Ausführen von Berichten
Mittwoch, , 16:00 – 17:00 Uhr Die objektorientierte Entwicklungsumgebung und relationale Datenbank Microsoft Visual FoxPro liefert seit jeher eine Vielzahl von Werkzeugen gleich mit. Besonders beliebt ist dabei der Berichtsgenerator, der lizenzkostenfrei an alle Anwender mitgeliefert werden darf. In der neuen Version 9.0 wurde der Berichtsgenerator grundlegend überarbeitet und massiv erweitert. Behandelt werden die neuen Ausgabe-optionen und die Programmierbarkeit zur Laufzeit in verschiedenen Beispielen sowie die zusätzlich mögliche Erweiterung der Berichtsausgabe in PDF-Dateien.
30
Fragen an hotline@dfpug.de oder besser http://forum.dfpug.de
Vielen Dank! Fragen an oder besser Besuchen Sie unsere Webseiten:
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.