Transaktionen mit der BDE
In der BDE ist eine implizite Transaktionssteuerung für Ihre Anwendungen durch eine entsprechende Voreinstellung vorgesehen. Wenn eine Anwendung unter impliziter Transaktionssteuerung ausgeführt wird, wird für jeden Datensatz in einer Datenmenge, der in die zugrunde liegende Datenbank geschrieben werden soll, eine eigene Transaktion durchgeführt. Implizite Transaktionen garantieren sowohl minimale Konflikte bei der Datensatzaktualisierung, als auch eine konsistente Darstellung der Datenbank. Auf der andere Seite kann eine implizite Transaktionssteuerung zu übermäßigem Netzwerkverkehr führen und die Ausführungsgeschwindigkeit einer Anwendung herabsetzen, weil jede Datenzeile, die in eine Datenbank geschrieben wird, in ihrer eigenen Transaktion stattfindet. Ferner schützt eine implizite Transaktionssteuerung keine logischen Operationen, die sich über mehr als einen Datensatz erstrecken.
Wenn Sie Transaktionen explizit steuern, können Sie die effektivsten Zeiten für den Beginn, das Beenden und das Zurücksetzen der Transaktionen wählen. Haben Sie die Anwendungen in einer Mehrbenutzerumgebung entwickelt, insbesondere für Zugriffe auf externe SQL-Server, dann sollten Sie die Transaktionen explizit steuern.
Es gibt zwei sich gegenseitig ausschließende Möglichkeiten, Transaktionen in einer BDE-basierten Datenbankanwendung explizit zu steuern:
- Verwenden Sie die Datenbankkomponente, um die Transaktionen zu steuern. Der Hauptvorteil bei der Verwendung der Methoden und Eigenschaften einer Datenbankkomponente besteht darin, dass damit eine korrekt auszuführende, übertragbare Anwendung geschaffen wird, die nicht von einer bestimmten Datenbank oder einem bestimmten Server abhängt. Diese Art der Transaktionssteuerung wird von allen Datenbankverbindungskomponenten unterstützt und unter Transaktionen verwalten beschrieben.
- Verwenden Sie Passthrough-SQL in einer Abfragekomponente, um eine SQL-Anweisung direkt an den externen SQL- oder ODBC-Server weiterzugeben. Der Hauptvorteil von Passthrough-SQL besteht darin, dass Sie die erweiterten Transaktionsverwaltungsfunktionen des jeweiligen Datenbankservers nutzen können, etwa die Zwischenspeicherung von Schemata. Informationen zu den Details des Transaktionsverwaltungsmodells auf Ihrem Server finden Sie in der Dokumentation zu dem betreffenden Datenbankserver.
Wenn Sie mit lokalen Datenbanken arbeiten, lässt sich nur die Datenbankkomponente zum Erstellen expliziter Transaktionen benutzen (lokale Datenbanken unterstützen Passthrough-SQL nicht). Bei der Arbeit mit lokalen Transaktionen gibt es jedoch Beschränkungen. Weitere Informationen zu den lokalen Transaktionen finden Sie unter Lokale Transaktionen.
Anmerkung: Sie können die Anzahl der benötigten Transaktionen reduzieren, indem Sie die Aktualisierungen zwischenspeichern. Näheres zum Zwischenspeichern von Aktualisierungen können Sie unter Mithilfe einer Client-Datenmenge Aktualisierungen zwischenspeichern nachlesen.