Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
1
VFX 10.0 Visual Extend Datenzugriff
Uwe Habermann
2
Was machen wir? Datenzugriff auf Tabellen VFX – Form Builder
Datenzugriff mit CursorAdapter VFX – CursorAdapter Wizard VFX – Upsizing Wizard VFX – Manage Config.vfx
3
Datenzugriff Was bietet VFP? Freie Tabellen DBC Lokale Ansichten
Die Stärke von VFP Lokale Ansichten Remote Ansichten und Verbindungen Cursoradapter Die neue Stärke von VFP
4
Nativer Datenzugriff USE BROWSE Indexschlüssel Seek, Replace Pufferung
Transaktionen Sehr schnell Rushmore-Optimierung Lokale Ansichten
5
Unser Datenmodell
6
Formulare basierend auf Tabellen
VFX – Form Wizard VFX – Data Environment Builder VFX – Form Builder Fertig! Beispiel: Kunden.scx
7
Remote Datenzugriff Remote View Basiert auf Connection
DSN Connectionstring DBC wird benötigt
8
Remote Datenzugriff CursorAdapter Verfügbar seit VFP 8 Klasse
Eigenschaften Methoden Vererbung Verwendbar in Datenumgebung Programmatisch instanziierbar Ergebnis: Cursor Verfügbar seit VFP 8
9
Remote Views vs. CursorAdapter
Remote View und Connection im DBC gespeichert Nachteil: 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
10
CursorAdapter Klasse Einheitlicher Datenzugriff
Datenzugriff auf DBC und (jede) Remote Datenbank möglich Umschaltbarkeit zur Laufzeit Builder in VFP vorhanden
11
CursorAdapter In VFX unterstütze Datenbanken
DBC SQL Server Zur Laufzeit unterstütze Datenbanken Oracle DB2 Fat Client – Datenzugriff über das Internet
12
Wie bekommen wir die CursorAdapter?
Eigenschaften manuell einstellen? Builder aus VFP? Sehr hilfreich um CursorAdapter verstehen zu lernen!
13
VFX – CursorAdapter Wizard
Automatische Generierung von CursorAdapter-Klassen zu allen Tabellen und Ansichten einer Datenbank für VFP Datenbanken für SQL Server Auswahl der Datenquelle Auswahl der Klassen und Klassenbibliotheken Einstellungen aktualisierbarer Felder Beispiel: CAs in Appl.vcx für VSS erstellen
14
CursorAdapter in VFX CursorAdapter-Klasse verwendet ConnectionManager
ConnectionManager liest Datenbankinformationen aus Konfigurationsdatei (Config.vfx) CursorAdapter-Funktionalität in einer Klasse gespeichert Holen von ID-Werten Wartbarkeit
15
Programmstart Im Init Ereignis des Anwendungsobjekts wird der ConnectionManager instanziiert Beim Instanziieren eines CursorAdapters wird vom ConnectionManager eine Connection geholt Dabei werden aus einer verschlüsselten Datei die Datenbankinformationen gelesen Die CursorAdapter-Klasse verwendet die Informationen des ConnectionManagers
16
Formulare basierend auf CursorAdapter
VFX – Form Wizard VFX – Data Environment Builder VFX – Form Builder In allen VFX-Formularklassen können CursorAdapter verwendet werden Fertig! Beispiel: KundenCA.scx
17
IDs IDs sollten von der Datenbank vergeben werden
CursorAdapter ermöglichen diese IDs nach dem Speichern aus der Datenbank zu holen InsertCmdRefreshKeyFieldList – Liste zu holender Felder 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
18
Arbeiten mit Parametern
VFX - CDataFormPage Builder - Parameter Hinzufügen von Steuerelementen zur Eingabe der Parameter Automatisches Anlegen der Formulareigenschaften caCustomers mit Where-Klausel companyname LIKE ?thisform.tcompanyname
19
Planen einer neuen Anwendung
Nur mit CusorAdapter arbeiten! basierend auf cAppDataAccess 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
20
Warum SQL Server? Server basierte Datenbank Online Backup Stabilität
Skalierbarkeit Einfacher Zugriff von verschiedenen Anwendungen und Plattformen Performance?
21
Datenmodellierung Was sollte in VFP beachtet werden? Logisch Datum
numerisch 1 oder bit Datum Datetime NULL Werte sollten in allen Feldern einer Remote Datenbank zugelassen sein
22
Datum VFP SQL Gültigkeitsbereich Leeres Datum zulässig
– Leeres Datum zulässig SQL Datetime: – SmallDatetime: – Leeres Datum NICHT zulässig
23
Datum Leeres Datum in VFP -> NULL im SQL
Unzulässiges Datum in VFP -> Datensatz kann nicht nach SQL portiert werden
24
Logisch VFP Logisch SQL Numerisch 1 Bit (ab SQL Server 2005)
25
VFX – Upsizing Wizard Transformierung der Struktur von lokalen Tabellen und lokalen Ansichten sowie der referenziellen Integrität Portieren von Daten auf einen SQL Server Quellcode wird mit VFP 9 SP 2 geliefert Kann ein eigene Projekte eingebunden werden
26
VFX – Upsizing Wizard Upsizing der vorhandenen Datenbank auf SQL Server Prüfen der Datenbank mit SSMS Fehlerbericht beachten! Beispiel: VSS.dbc
27
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
28
Datenquellen bearbeiten Manage Config.vfx
Neuer Eintrag SQL Connectionstring DRIVER={SQL Server}; SERVER=(local); UID=sa;PWD=sa; DATABASE=VSS; Local (Native DBF…) Data
29
Wohin mit den VFX Tabellen?
Als freie Tabellen lassen Im eigenen DBC In eigener Remote Datenbank In Daten-Datenbank als DBC oder Remote Datenbank
30
Test Läuft die Anwendung mit DBC und SQL Server?
Neue Datensätze anlegen Datensätze ändern
31
Multi-Client-Support
Mandantenfähige Anwendungen mit Remote-Datenbanken Datenzugriff bearbeiten – Config.vfx Mandantenfähige Anwendungen mit DBC Pfadeinstellungen in Vfxpath.dbf Ordner "Data" beim Kunden nicht verwendbar
32
Multi-Client-Support
Wo sucht VFX die Datenbank? Config.vfx Vfxpath.dbf Hard-codiert in goProgram.cDataDir
33
Audit-Trail VFX – Audit Trigger Wizard Trigger in den Tabellen
_audit_insert() _audit_update() _audit_delete() Anzeige des Protokolls über ein VFX-Formular Und-Verknüpfung mit anderen Triggern möglich
34
Audit-Trail Vfxauditedtables Keine Trigger
DBC SQL Keine Trigger Läuft mit Cursoradapter auf jeder Datenbank Protokolliert einfügen, ändern und löschen
35
Impersonation Datenzugriff mit einem anderen Windows-Benutzerkonto
Sehr guter Schutz der Daten vor unberechtigtem Zugriff Einstellung in Config.vfx Win User Name Win User Password Win Domain Name Wenn, dann müssen alle Datenbanken mit Impersonation arbeiten
36
Pause! Um Uhr geht es weiter
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.