1 / 33

MSDE Programmierung Tilo Böttcher, Technology Specialist tiloboet@microsoft.com Microsoft GmbH

MSDE Programmierung Tilo Böttcher, Technology Specialist tiloboet@microsoft.com Microsoft GmbH. Agenda. Access 2000 Client/server Entwicklung Native SQL Server Integration Erstellung von Datenprojekten (*.adp) Unterschiede zu MDBs Tipps and Tricks Optimierung der Client/Server Performance

tyne
Download Presentation

MSDE Programmierung Tilo Böttcher, Technology Specialist tiloboet@microsoft.com Microsoft GmbH

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. MSDE ProgrammierungTilo Böttcher, Technology Specialisttiloboet@microsoft.comMicrosoft GmbH

  2. Agenda • Access 2000 • Client/server Entwicklung • Native SQL Server Integration • Erstellung von Datenprojekten (*.adp) • Unterschiede zu MDBs • Tipps and Tricks • Optimierung der Client/Server Performance • Generelle Performancefestlegungen • Client/Server Performance Tipps

  3. Agenda • Access 2000 • Client/server Entwicklung • Native SQL Server Integration • Erstellung von Datenprojekten (*.adp) • Unterschiede zu MDBs • Tipps and Tricks • Optimierung der Client/Server Performance • Generelle Performancefestlegungen • Client/Server Performance Tipps

  4. Unterschiedliche Dateiformate • MDB: Datei/Server • Jet 4.0 • Datenbankobjekte (Tabellen, Abfragen etc.) • Programmobjekte (Formulare, Berichte etc.) • ADP: Client/Server • ADP (SQL Server 6.5 und 7.0, MSDE 1.0) • Programmobjekte (Formulare, Berichte etc.) • SQL Server Connection Neu!

  5. Datei/Server vs. Client/Server Client Server Datei/ Server Netzwerk .MDB Datei Access Jet Client Server SQL Server .MDF Datei Netzwerk Client/ Server Access OLEDB

  6. Verbindung des Access Projekts mit der SQL Datenbank OLE DB Datenbankobjekte aus der SQL Datenbank Datenbankobjekte im Access Projekt gespeichert Access Datenprojekte (.ADP) Access 2000 Projekt SQL Server Datenbank

  7. Native OLEDB Datenschicht Access 2000 Access 97 Access Access OLEDB Jet SQL Server ODBC SQL Server

  8. OLEDB DatenschichtSkalierbarkeit und Performance • Snapshot Cursor • Jede Abfrage kommt nur einmal auf den Server • Jet/ODBC benutzt key-set Cursors • Hit 1: Primärschlüssel auslesen • Hits 2-N: Stapelweises Auslesen der Datensatzreihen • Server-side Query Processor • Minimierung des Datenverkehrs über das Netzwerk • Natives Interface zum SQL Server

  9. Integrierte Entwicklungswerkzeuge • Create/Drop database • Tabellen • Beziehungen • Views • Stored Procedures • Trigger

  10. Access Entwicklungsumgebung • Formulare • Berichte • Wizards • Visual Basic® Umgebung • Neue Client/Server Eigenschaften • Row Limit • Server Filter

  11. Access 2000 Entwicklungstools DemoAccess 2000 Development Tools

  12. Agenda • Access 2000 • Client/server Entwicklung • Native SQL Server Integration • Erstellung von Datenprojekten (*.adp) • Unterschiede zu MDBs • Tipps and Tricks • Optimierung der Client/Server Performance • Generelle Performancefestlegungen • Client/Server Performance Tipps

  13. Datentypen

  14. Tabellen und Beziehungen • Trigger • Daten Update, Einfügen und Löschen Events • Nur auf dem SQL Server • Kaskadierte Update- und Löschvorgänge • Jet-Engine: native Unterstützung • SQL Server: unter Benutzung von Trigger • Einschränkungen • Jet hat Validierungsschema für Tabellen und Spalten(eine per ~) • SQL Server hate Tabellenbeschränkungen (mehrere per ~)

  15. Abfragen, Sichten, undGespeicherte Prozeduren • Sichten • SELECT Abfragen • kein Order By • keine Parameter • Gespeicherte Prozeduren • SELECT und Aktionsabfragen • TSQL Flußkontrolle (IF, WHILE, etc.) • Keine nested ~

  16. Parameter • Explizite Parameter • Parameter direkt mit einer Abfrage verbinden • Bei Jet und SQL Server möglich • Implizite Parameter • Jet: Unbekannter Bezeichner = Parameter • SQL Server: Unbekannter Bezeichner = Fehler • Namenskonvention • Jet: läßt lange Namen zu • SQL: keine Leerzeichen oder Spezialzeichen

  17. SQL Syntax

  18. Programmierumgebung • MDB • VBA • ADP • Client - VBA • Server - TSQL

  19. Update von Daten • Definition eines Primärschlüssels ist Voraussetzung • Um einen Join zu aktualisieren müssen • die Unikat Tabellen • Primärschlüssel der Unikat Tabellen bekannt sein • Was ist eine unikate Tabelle? • 1-n Tabelle in einem Join • Tabelle, deren Primärschlüssel eine Reihe im Result-Set eindeutig bestimmt • Es lassen sich nur Unique Tables aktualisieren

  20. Resynchronisation von Reihen • Nach einem Update resynchronisiert Access automatisch die Reihe um • Serverseitige Ausdrücke und • Aktualisierungen eines Join Feldes bestimmen zu können • Primärschlüssel der Unique Table wird benötigt • Sichten • Projeziert Primärschlüssel der Unique Table • Stored procedures • Müssen ein benutzerspezifisches resync-Kommando unterstützen

  21. Update über Tabellen • Alle Updates werde in Tabellen vorgenommen • Rechte für das Update müssen vorhanden sein • Update Rechte • Select (nach WHERE Bedingungen) • Sicherheit von Views • Zusicherung von Update Rechten auf eine Tabelle • Trigger um nicht autorisierte zu blocken nutzen • Zusichern eines Select auf die gesamte Tabelle • Select auf die Primärschlüssel und timestamp field zusichern

  22. Server Filter in Formularen • Neue Eigenschaft in ADP Dateien • Kein Datensatzzugriff bei Öffnen des Formulars • Benutzer können Filter in Formularen definieren • Filter werden auf den Server in einer WHERE Bedingung übertragen • Gefilterte Datensätze werden an den Client zurückgegeben

  23. Vermeidung von Zugriffsverzögerungen • Für beste Performance keine großen Text- oder Bild-Felder zurückgeben • Anzeige nur wen angefordert • Trick: Unterformular benutzen • Hauptformular zeigt nicht behindernde Daten an • Unterformular zeigt größere Datenausschnitte an • Es werden nur Daten zurückgegeben, die im Formular erscheinen sollen

  24. Migration von MDB nach ADP (DAO nach ADO :-)) • Voraussetzungen im letzten TechTalk (auch Access 97 Migration Wizard) • Access 2000 Upsizing Assistent • Tabellen • Abfragen (nur ADP) • MDB mit verbundenen Tabellen vs. ADP • Verbundene Tabellen: einfachste Integration • ADP: beste Skalierbarkeit und Performance • Data Transformation Services

  25. Agenda • Access 2000 • Client/server Entwicklung • Native SQL Server Integration • Ersatellung von Datenprojekten (*.adp) • Unterschiede zu MDBs • Tipps and Tricks • Optimierung der Client/Server Performance • Generelle Performancefestlegungen • Client/Server Performance Tipps

  26. Optimierung der Leistung • Allgemeine Regeln • RAM, RAM, RAM, Prozessor, Plattenplatz • Oft ist das Netzwerk der Flaschenhals • Verringern der zurückgegebenen Datenreihen • Verringern der Spalten (sinnvolle Auswahl mit WHERE) • Weniger Funktionen integrieren • Server Skalierbarkeit • Minimieren von Round Trips vom Server

  27. Weniger Datenbewegung • Weniger Daten in Formularen anfordern • WHERE Bedingungen nutzen! • Text und Bildfelder nur bei Bedarf nutzen/anzeigen • Große ComboBocen vermeiden (alle Städte von Deutschland ) • Statische Daten lokal cachen • Vorsicht vor nicht aktuellen Daten! • Probleme mit verbundenen Tabellen • Heterogene Joins • Vermeidung benutzerdefinierter Funktionen • Stored Procedures benutzen

  28. Weniger Funktionen • In ADO Code • Read only ist schneller • Forward only ist schneller • Wiederverwendung von Connections ist schneller

  29. MSDE Entwicklung DemoAufbau und Deployment einer MSDE Lösung

  30. MSDNwichtige Quellen für Entwickler

  31. Informationen von Microsoft Press http://www.microsoft.com/germany/mspress Datenbankprogrammierung mit Visual Basic 6 Autor: Walter Doberenz, Thomas Kowalski ISBN: 3-86063-485-2 Umfang: 633 Seiten Preis: 79,00 DM ADO-Programmierung Autor: David Sceppa ISBN: 3-86063-618-9 Umfang: 384 Seiten Preis: 79,00 DM Access 2000 Programmierung Autor: Doberenz/Kowalski ISBN: 3-86063-471-2 Umfang: 924 Seiten Preis: 98,00 DM VB 6 Training Original MCSD Training Autor: MS ISBN: 3-86063-905-6/297-3Preis: 98,00/119,00 DM

  32. Links und Newsgroups http://www.microsoft.com/germany/msdn/techtalk http://www.microsoft.com/data http://msdn.microsoft.com/library http://www.microsoft.com/AccessDev/ http://www.vba-magazin.de/ http://www.basicworld.com/ Newsgroups Server msnews.microsoft.com microsoft.public.de.germany.entwickler.techtalk

  33. This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT. 2000 Microsoft Corporation. All rights reserved. Companies, names, and/or data used in screens and sample output are fictitious, unless otherwise noted. Microsoft, Windows, and Windows NT are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. Other product and company names mentioned herein may be the trademarks of their respective owners.

More Related