Client/Server mit Visual FoxPro 9.0

Slides:



Advertisements
Ähnliche Präsentationen
Client / Server mit Visual FoxPro 9.0
Advertisements

Arbeiten mit SQL in Visual FoxPro 9.0
Visual FoxPro 8.0 NameTitelUnternehmen. Agenda Jahre Visual FoxPro 10 Jahre Visual FoxPro Der Weg zu VFP 8.0 Der Weg zu VFP 8.0 Ziele von und Überblick.
Visual Extend Product Manager
Bidirektionales VFX-XML-Interface für Daten-Import/Export Visual Extend Anwendertreffen 2009 Rainer Becker, Frank Kropp deutschsprachige FoxPro User Group.
VFP Beispiele sowie Tools, Frameworks und Klassen
Visual FoxPro 10.0 Visual Extend 10.0
© 2005 Uwe Habermann Visual Extend 9.5 Technical Preview Uwe Habermann Visual Extend Product Manager
Visual Extend Anwendertreffen 2009 deutschsprachige FoxPro User Group Uwe Habermann, Venelina Jordanova, Fritz Maurhofer, Rainer Becker VFXAWD09.
Erstellen von COM-Servern in Visual FoxPro 9.0 deutschsprachige FoxPro User Group Rainer Becker Microsoft Visual FoxPro 9.0 Roadshow COM.
Venelina Jordanova Uwe Habermann V-VFX1 Visual Extend Power for VFP Developers.
VFX Schnelle Anwendungs-entwicklung mit Visual FoxPro 9.0 und Visual Extend 9.0 deutschsprachige FoxPro User Group Uwe Habermann Microsoft Visual FoxPro.
Arbeiten mit Formularen in Visual FoxPro 9.0
Arbeiten mit Konstanten in Visual FoxPro 9.0 deutschsprachige FoxPro User Group Rainer Becker Microsoft Visual FoxPro 9.0 Roadshow CONST.
Arbeiten mit SQL in Visual FoxPro 9.0 deutschsprachige FoxPro User Group Rainer Becker Microsoft Visual FoxPro 9.0 Roadshow SQL.
Erstellen von WebServices mit Visual FoxPro 9.0
Einführung zur Roadshow zu Visual FoxPro 9.0 deutschsprachige FoxPro User Group Rainer Becker Microsoft Visual FoxPro 9.0 Roadshow INTRO.
Visual Extend 9.5ff Most Wanted Features deutschsprachige FoxPro User Group Rainer Becker VFXWISH06.
Uwe Habermann Venelina Jordanova dFPUG – Silverlight Wizard.
Uwe Habermann VCM Visual Contact Manager.
Uwe Habermann VFX 10.0 Visual Extend Formularerstellung.
VFX 10.0 Visual Extend Datenzugriff
Visual Extend Product Manager
Visual Extend Weitere Features deutschsprachige FoxPro User Group Uwe Habermann VFX 25 D.
Uwe Habermann Venelina Jordanova VFP Code in Silverlight Anwendungen ausführen.
Visual Extend Features für Entwickler deutschsprachige FoxPro User Group Uwe Habermann VFX 05 D.
Visual Extend Anwendertreffen 2006 deutschsprachige FoxPro User Group Uwe Habermann, Peter Herzog, Fritz Maurhofer, Rainer Becker VFXAWD06.
Uwe Habermann VFX 11.0 VFX - DBF-CA Wizard Venelina Jordanova
Visual Extend Application Builder deutschsprachige FoxPro User Group Uwe Habermann VFX 07 D.
Uwe Habermann VFX 11.0 Distribution von Anwendungen Venelina Jordanova
© 2004 Uwe Habermann Visual Extend 9.0 Technical Preview Diplom-Informatiker Uwe Habermann Visual Extend Product Manager
Visual Extend Anwendertreffen 2007 deutschsprachige FoxPro User Group Uwe Habermann, Rainer Becker VFXAWD07.
Visual Extend Anwendertreffen 2008
Visual Extend Produktaktivierung deutschsprachige FoxPro User Group Uwe Habermann VFX 23 D.
Uwe Habermann VFX 11.0 Einsatz von Cursoradaptern in bestehenden Anwendungen Venelina Jordanova
Visual Extend Kundeninstallation deutschsprachige FoxPro User Group Uwe Habermann VFX 26 D.
Uwe Habermann Venelina Jordanova VFX – Silverlight Wizard.
Herzlich Willkommen zum VFX-Anwendertreffen! deutschsprachige FoxPro User Group Rainer Becker Visual Extend 9.0 Anwendertreffen 2005 INTRO.
VFX - Von DBC zu SQL mit CA VFX Von DBC zu SQL mit CA Venelina Jordanova Software Development Team Leader Uwe Habermann Visual Extend.
© 2003 Uwe Habermann Visual Extend 7.1 Die Entwicklungsumgebung für VFP 8.0 Uwe Habermann Diplom-Informatiker
Visual Extend Features der generierten Anwendung für Endbenutzer deutschsprachige FoxPro User Group Uwe Habermann VFX 04 D.
Uwe Habermann Venelina Jordanova Kostenloser Einstieg in eine neue Welt!
VFX - Einführung DBC-Anwendungen VFX – Einführung DBC-Anwendungen Venelina Jordanova Software Development Team Leader Uwe Habermann Visual.
Was ist neu in VFX 9.5? Venelina Jordanova Software Development Team Leader Uwe Habermann Visual Extend Product Manager
Visual Extend CTableForm Builder deutschsprachige FoxPro User Group Uwe Habermann VFX 08 D.
Visual Extend CursorAdapter deutschsprachige FoxPro User Group Uwe Habermann VFX 18 D.
Visual Extend CDataFormPage Builder deutschsprachige FoxPro User Group Uwe Habermann VFX 09 D.
Visual Extend CPickAlternate Builder deutschsprachige FoxPro User Group Uwe Habermann VFX 14 D.
Visual Extend Download, Installation, Registrierung deutschsprachige FoxPro User Group Uwe Habermann VFX 01 D.
Visual Extend Mandantenfähigkeit deutschsprachige FoxPro User Group Uwe Habermann VFX 22 D.
Visual Extend CPickAlterTextbox Builder deutschsprachige FoxPro User Group Uwe Habermann VFX 16 D.
Visual Extend CPickTextbox Builder deutschsprachige FoxPro User Group Uwe Habermann VFX 15 D.
Visual Extend Lokalisierung deutschsprachige FoxPro User Group Uwe Habermann VFX 24 D.
Visual Extend CPickField Builder deutschsprachige FoxPro User Group Uwe Habermann VFX 13 D.
Visual Extend Application Wizard deutschsprachige FoxPro User Group Uwe Habermann VFX 06 D.
Visual Extend COneToMany Builder deutschsprachige FoxPro User Group Uwe Habermann VFX 10 D.
Visual Extend CTreeviewForm Builder deutschsprachige FoxPro User Group Uwe Habermann VFX 11 D.
Visual Extend Parent/Child Builder deutschsprachige FoxPro User Group Uwe Habermann VFX 17 D.
Visual Extend CDataFormPage-Formulare mit CursorAdapter deutschsprachige FoxPro User Group Uwe Habermann VFX 19 D.
© 2005 Uwe Habermann, Venelina Jordanova Visual Extend 9.0 Die Entwicklungsumgebung für VFP 9.0 Uwe Habermann Visual Extend Product Manager
Uwe Habermann Venelina Jordanova Professioneller Einstieg in eine neue Welt!
Uwe Habermann Venelina Jordanova Was ist neu in VFX 13 für VFP seit der Konferenz?
Venelina Jordanova Uwe Habermann V-VFX Visual Extend Mehr als ein RAD Framework.
Uwe Habermann Venelina Jordanova VFX in Cloud.
Uwe Habermann V-VFX1 Visual Extend Wichtiger als je zuvor Venelina Jordanova
Uwe Habermann V-VFX2 Produktiv mit VFX Builder Einsatz in der Praxis Venelina Jordanova
Uwe Habermann Venelina Jordanova Bestehende VFX-Anwendungen leicht erweitern.
Uwe Habermann Venelina Jordanova Was ist neu in VFX 15?
D-SQL Vom Datenbank-Container zur SQL Server-Datenbank
D-SQL SQLization – endlich Client/Server!
 Präsentation transkript:

Client/Server mit Visual FoxPro 9.0 C/S Client/Server mit Visual FoxPro 9.0 deutschsprachige FoxPro User Group Uwe Habermann Microsoft Visual FoxPro 9.0 Roadshow

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.

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

Remote Views vs. CursorAdapter Remote View und Connection im DBC gespeichert Nachteil: DBC muss verwendet werden Verbindungsinformationen im Klartext lesbar ggf. manipulierbar CursorAdapter als programmatische oder visuelle Klasse in die Exe-Datei eingebunden Zur Laufzeit beliebig konfigurierbar Mit DBC und Remote Datenbanken einsetzbar

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

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 SQL Server 2005 Express Oder VAR-Vertrag mit Microsoft

Upsizing VFP Upsizing Wizard xCase (und andere Tools) Gute VFP-Unterstützung Möglichkeit zur Massenänderung (DBFs!)

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 

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

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 kommt auf die Begleit-CD )

CursorAdapter Klasse Herstellen der Verbindung zur Datenbank über den ConnectionManager Holen von ID-Werten Wartbarkeit Eingriffsmöglichkeit an vielen Stellen BeforeUpdate, AfterUpdate

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() @@IDENTITY bei SQL Server

CursorAdapter Klasse Was ist neu? Maximale Länge eines Eigenschaftwerts bei Eingabe im Eigenschaftsfenster 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: neue Eigenschaft UseTransactions Besseres Konflikthandling ConflictCheckType / ConflictCheckCmd (VFP8 SP1) Neue Eigenschaft TimestampFieldList Lesen und Schreiben von hierarchischen XML Diverse Erweiterungen bzgl. ADO

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

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

Ein Beispiel aus der Praxis VFP VFP? Venelina´ Fanstastic Pizzas 

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

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

Datenquellen bearbeiten Manage Config.vfx Verwaltung des Datenzugriffs Dialog in der Anwendung beim Kunden nutzbar Problemloser Wechsel zwischen DBC und SQL Server ConnectionString empfehlenswert Verschlüsselung mit Kennwort Einstellung mit dem Application Builder goprogram.cconfigpassword

Test Läuft die Anwendung mit DBC und SQL Server?

Vielen Dank! Uwe.Habermann@dFPUG.de Besuchen Sie unsere Webseiten: http://www.dfpug.de, http://portal.dfpug.de, http://forum.dfpug.de, http://newsletter.dfpug.de, http://devcon.dfpug.de, http://roadshow.dfpug.de, http://www.visualextend.de, http://www.linuxtransfer.de, http://www.visualfoxpro.de