ACC2000 Für Leistung von Client-Server optimieren

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 208858 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Erweiterte: Erfordert Experten Codierung und Interoperabilität sowie Mehrbenutzerfähigkeiten.

Dieser Artikel bezieht sich ausschließlich auf eine Microsoft Access-Datenbank (.mdb).

Alles erweitern | Alles schließen

Auf dieser Seite

Zusammenfassung

Dieser Artikel enthält Tipps zur Optimierung der Leistung (Open Database CONNECTIVITY)-Datenquellen in Microsoft Access.

Hinweis : Dieser Artikel setzt voraus, dass Sie mit Client-Server-Umgebungen und Architekturen vertraut sind.

Weitere Informationen

Methoden zum Zugreifen auf Daten

Um Daten mit einer Client/Server-Anwendung auf dem Server zuzugreifen, können Sie eine oder mehrere der folgenden Methoden verwenden:

  • Verknüpfte Tabellen und Ansichten
  • SQL-Pass-Through-Abfragen auf SQL-Anweisungen direkt an den Server senden
  • Ein Access-Projekt

Verknüpfte Tabellen und Ansichten

Die effizienteste Methode zum Behandeln von Serverdaten besteht darin, Tabellen und Ansichten von Ihrem Server zu verknüpfen. Microsoft Access speichert Informationen Feld und Index für verknüpfte Tabellen. Dies verbessert die Leistung beim Öffnen von Tabellen.

Hinweis : Wenn Sie Änderungen an Felder oder Indizes auf dem Server vornehmen, müssen Sie die remote Tabellen in Access erneut verknüpfen.

Ausführen von SQL Pass-Through-Abfragen

In vielen Anwendungen können Sie Microsoft Access-Abfragen basierend auf Remotetabellen erstellen und auch SQL-Pass-Through-Abfragen erstellen. Pass-Through-Abfragen bieten folgende Vorteile:
  • Microsoft Access kompiliert eine Pass-Through-Abfrage nicht. Er sendet die Abfrage direkt an den ODBC-Server. Dies beschleunigt die Anwendung.
  • Zugriff sendet Pass-Through-Abfrage an den Server genau, wie er eingegeben wurde. Daher tritt weitere Verarbeitung auf dem Server und weniger Daten über das Netzwerk ausgetauscht werden.
  • Formulare, Berichte und Abfragen von Microsoft Access können auf Pass-Through-Abfragen mit ODBC verknüpfte Tabellen basieren.
  • Sie können SQL Server-spezifische Funktionen (z. B. gespeicherte Prozeduren und serverbasierte systeminterne Funktionen) verwenden, die keine Entsprechung in Code verfügt.
  • Aktualisieren, löschen und Anfügen von Pass-Through-Abfragen sind wesentlich schneller als Aktion-Abfragen basierend auf verknüpfte Remotetabellen, insbesondere wenn viele Datensätze betroffen sind Aktion.
Pass-Through-Abfragen haben folgende Nachteile:
  • Eine SQL Pass-Through-Abfrage gibt immer einen Snapshot, der nicht aktualisiert werden kann. Eine Microsoft Access-Abfrage in der Regel gibt ein Dynaset, die anderen Benutzern vorgenommenen Änderungen widerspiegelt und kann aktualisiert werden.
  • Sie müssen die Befehle direkt in das Fenster SQL Pass-Through-Abfrage mit der Syntax eingeben, die Ihr Server erfordert. Sie können nicht Pass-Through-Abfragen in den Entwurfsbereich für Abfragen entwerfen.
  • Wenn Sie einen Parameter mit einer Pass-Through-Abfrage benötigen, müssen die Abfrage im Code ausführen und ändern Sie die Abfrage- SQL -Eigenschaft. Weitere Informationen und ein Beispiel zum SQL-Eigenschaft ändern folgendem Artikel der Microsoft Knowledge Base:
    232493: Acc2000 Simulieren von Parametern in einer SQL Pass-Through-Abfrage

Der Server weniger Daten anfordern

Daten von der Server Kosten Verarbeitungszeit anfordern. Um die Leistung zu optimieren, fordern Sie an, nur die Datensätze und Felder, die Sie benötigen.

Reduzieren der Anzahl der gebundenen Steuerelemente, z. B. Textfelder, Kombinationsfelder, Listenfelder und Unterformulare. Wenn ein Formular geöffnet wird, sendet jedes dieser Steuerelemente an den Server eine separate Abfrage.

Wenn verknüpften ODBC-Tabellen Memo- oder OLE-Objektfelder haben, können Sie legen Sie die Visible -Eigenschaft der Felder auf Nein und fügen eine Umschaltfläche die Visible -Eigenschaft auf Ja festlegen, sodass Benutzer Sie anzeigen auswählen können.

Einige verknüpften Tabellen nicht häufig geändert. Beispielsweise würde eine Tabelle mit den Namen und Abkürzungen der 50 States nicht häufig ändern. Können Sie beschleunigen Formular laden und Serverlast verringern, indem eine lokale Kopie diese Tabellen speichern. Sie können auch eine Möglichkeit, die lokale Kopie mit neueren Daten vom Server aktualisieren bereitstellen.

Optimieren von Abfragen

Die principal-Methode für das Optimieren von Abfragen (nach entsprechender Indizes auf dem Server hinzufügen) wird sicherstellen, dass Verarbeitung auf dem Server stattfindet. Vermeiden Sie Funktionen, die von dem Server, z. B. Microsoft Access-spezifisch oder benutzerdefinierte Funktionen nicht unterstützt wird. Ausführliche Informationen darüber, welche lokal verarbeitet werden müssen, finden Sie in das Microsoft Jet Database Engine ODBC Connectivity-Whitepaper (Weitere Informationen zu diesem Whitepaper, finden Sie unter im Abschnitt "Microsoft Jet Datenbank Engine ODBC-Verbindung White Paper" weiter unten in diesem Artikel).

Um die SELECT-Anweisung anzuzeigen, die an den Server gesendet wird, können Sie die TraceSQLMode festlegen Einstellung. Gehen Sie folgendermaßen vor um diesen festzulegen:
  1. Klicken Sie auf Start , und klicken Sie dann auf Ausführen .
  2. Geben Sie Regedit klicken Sie im Dialogfeld Öffnen .
  3. Erweitern Sie dann die Teilstruktur HKEY_LOCAL_MACHINE, bis Sie den Unterschlüssel SOFTWARE\Microsoft\Jet\4.0\Engines finden.
  4. Klicken Sie auf Module .
  5. Wenn der Wert TraceSQLMode nicht im rechten Fensterbereich angezeigt wird, klicken Sie im Menü Bearbeiten auf neu , und klicken Sie dann auf DWORD-Wert .
  6. Geben Sie unter Name im rechten Fensterbereich TraceSQLMode für den neuen Wert ein.
  7. Klicken Sie mit dem neuen Wert weiterhin ausgewählt im Menü Bearbeiten auf Ändern .
  8. Wählen Sie unter Base Decimal . Geben Sie in das Feld Wertdaten 1 ein, und klicken Sie dann auf OK .
Weitere Informationen zu TraceSQLMode Einstellung klicken Sie auf das Menü? auf Microsoft Access-Hilfe, geben Sie "TraceSQLMode" in Office-Assistenten oder im Antwort-Assistenten und klicken Sie dann auf Suchen, um das Thema anzuzeigen.

TryJetAuth festlegen

Die TryJetAuth festgelegt, ob Microsoft Access zunächst zu Ihrem Server mit dem Microsoft Access-Benutzernamen und Kennwort anmelden möchte. (Standardmäßig der Microsoft Access-Benutzername ist "Admin" und das Kennwort ist leer.) Wenn dies fehlschlägt, Microsoft Access aufgefordert einen ANMELDENAMEN und ein Kennwort. Wenn Sie Microsoft Access so eingerichtet haben, gleichen ANMELDENAMEN und Kennwort als ODBC-Server verwenden, fügen Sie die Zeile "TryJetAuth = 0 in den HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\ODBC\TryJetAuth Schlüssel der Registrierung. Diese Microsoft Access verhindert, die sich mit der falschen ID anmelden Gehen Sie hierzu folgendermaßen vor:
  1. Klicken Sie auf Start , und klicken Sie dann auf Ausführen .
  2. Geben Sie Regedit klicken Sie im Dialogfeld Öffnen .
  3. Suchen Sie die Teilstruktur HKEY_LOCAL_MACHINE.
  4. Erweitern Sie die Teilstruktur HKEY_LOCAL_MACHINE, bis Sie den folgenden Unterschlüssel:
    SOFTWARE\Microsoft\Jet\4.0\ODBC\TryJetAuth
  5. Klicken Sie auf Module .
  6. Wenn der TryJetAuth -Wert nicht vorhanden ist, klicken Sie im Menü Bearbeiten auf neu , und klicken Sie dann auf DWORD-Wert .
  7. Geben Sie unter Name im rechten Fensterbereich TryJetAuth für den neuen Wert ein.
  8. Klicken Sie mit dem neuen Wert weiterhin ausgewählt im Menü Bearbeiten auf Ändern .
  9. Wählen Sie unter Base Decimal . Geben Sie in das Feld Wertdaten 1 ein, und klicken Sie dann auf OK .

Zeitstempel

Auf Servern, die Sie z. B. Microsoft SQL Server unterstützt Timestamp-Felder aktualisieren Datensätze effizienter gestalten. Timestamp-Felder werden vom Server verwaltet und aktualisiert bei jedem der Datensatz aktualisiert wird.

Wenn Sie eine Timestamp-Feld haben, muss Microsoft Access nur Überprüfen der eindeutige Index und das Timestamp-Feld, ob der Datensatz geändert hat, seit dem letzten vom Server abgerufen. Andernfalls müssen die Microsoft Access alle Felder im Datensatz überprüfen. Wenn Sie eine verknüpfte Tabelle ein Timestamp-Feld hinzugefügt haben, erneut verknüpfen Sie in der Tabelle, um Microsoft Access für das neue Feld informieren.

Transaktionen

Mit Transaktionen in Visual Basic für Applikationen (VBA) beim Aktualisieren oder Einfügen von Datensätzen in verknüpften Tabellen kann Leistung verbessern. Transaktionen aktivieren das Jet-Datenbankmodul mehrere Updates sammeln und als einzelner Batch schreiben. Behalten Sie mit Microsoft SQL Server Transaktionen kurz, da diese Sperren generieren, die verhindern, dass andere Benutzer Lesen von Daten von der aktuellen Transaktion betroffen. Obwohl Sie Transaktionen mit VBA schachteln können, unterstützt die meisten Server geschachtelte Transaktionen nicht. Microsoft Access sendet nur für die erste Ebene Transaktion an den Server.

Recordsets und Code optimieren

Sie können ganz oder teilweise in Recordset Objekte vom Typ Dynaset im lokalen Speicher durch Festlegen der CacheSize - und CacheStart -Eigenschaft enthaltenen Daten speichern.

Die Cachegröße kann zwischen 5 und 1200 liegen. Wenn die Größe des Cache verfügbaren Speicher überschreitet, verschütten überschüssige Datensätze in eine temporäre Datei. Anwenden der FillCache -Methode füllt den Cache mit Daten auf dem Server. Um den Cache wiederherzustellen, legen Sie die CacheSize -Eigenschaft auf 0 (null).

Implementieren von Recordset Variablen nur die Funktionalität, die Sie benötigen. Z. B. Hinzufügen der DbAppendOnly -Option mit der OpenRecordset -Methode, wenn Sie nur neue Datensätze zu einem Recordset hinzufügen müssen. Wenn Sie bearbeiten oder aktualisieren die Möglichkeit benötigen, basieren die Recordsets auf SQL Pass-Through-Abfragen. Die schnellste Methode zum Einfügen und Aktualisieren von Datensätzen ist Verwendung von SQL-Pass-Through-Abfragen im Code.

Tabelle MSysConf

Sie können eine Tabelle mit dem Namen MSysConf auf Ihren Server zum Steuerelement Hintergrund Auffüllung erstellen (die Rate, mit der Microsoft Access Datensätze vom Server während der Leerlaufzeit liest). Mit dieser Tabelle können Sie festlegen, die Anzahl der Zeilen mit Daten, die gleichzeitig abgerufen werden und die Anzahl der Sekunden Verzögerung zwischen zwei Abrufvorgängen liegen. Wenn übermäßige lesen Sperren auf dem Server auftreten, können Sie die Tabelle Einstellungen Hintergrund Auffüllung beschleunigen anpassen. Wenn zu viel Netzwerkverkehr vom Hintergrund Auffüllung generiert wird, können Sie die Einstellungen es verlangsamen anpassen.

Microsoft Jet Datenbank Engine ODBC-Verbindung-Whitepaper

Eine wichtige Quelle für Weitere Informationen ist das Whitepaper "Jet Database Engine ODBC-Verbindungen". Dieses Dokument wurde für Jet 3.0 geschrieben; diese Informationen dennoch gilt jedoch für Jet 4.0. Dieses Dokument erläutert die Microsoft Jet 3.0-Datenbank-Engine und wie ODBC verwendet. Das Whitepaper können aus der folgenden Microsoft-Website heruntergeladen werden:
http://download.microsoft.com/download/access95/whitep5/1/W98/EN-US/Rjwpv3.exe

Ein Access-Projekt

Ein Access-Projekt verwendet OLE DB, um auf Microsoft SQL Server 6.5 oder 7.0 zu verknüpfen. Wenn alle Tabellen in Ihrer Access-Datenbank verknüpfte Tabellen in SQL Server, zur Verbesserung der Leistung, die Sie stattdessen ein Access-Projekt erstellen können. Jedoch, wenn die Datenbank Access-Tabellen enthält, ist diese Option nicht möglich.

Eigenschaften

Artikel-ID: 208858 - Geändert am: Donnerstag, 29. März 2007 - Version: 3.3
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Access 2000 Standard Edition
Keywords: 
kbmt kbdownload kbhowto kbusage KB208858 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 208858
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com