Adobe Air (wiwobooks.com Release)
wiederhergestellt ist, z. B. während einer Bahnfahrt des Benutzers. Hier gilt es, eine Strategie zu wählen, die nicht bei jeder Ein- und Ausfahrt in einen bzw. aus einem Bahntunnel umfangreiche Synchronisierungsmaßnahmen erfordert. Diese Aspekte werden Ihnen in Kapitel 17, »Die Verbindung nach außen«, erneut begegnen.
Explizite, voll qualifizierte Namen
Die Syntax von SQL unterstützt es, dass Sie innerhalb eines Statements eine Tabelle nur mit dem Tabellennamen ansprechen, solange dieser Name in den verwendeten Datenbanken einzigartig ist. Allerdings geht diese Flexibilität etwas auf Kosten der Geschwindigkeit, da die Datenbank-Engine erst alle Datenbanken nach der passenden Tabelle durchsuchen muss.
Verwenden Sie daher also lieber voll qualifizierte Referenzen auf die Datenbanktabelle (oder die Ansicht, den Index etc.). Die Hauptdatenbank wird dabei mit main bezeichnet. Wenn Sie die Tabelle kunden in der Hauptdatenbank ansprechen wollen, verwenden Sie also in Ihrem SQL-Statement als Referenz main.kunden .
13.2.4 Startdatenbank
Wenn Sie sich klar geworden sind, welche Datenbank bzw. Datenbanken Sie für Ihre Anwendung brauchen, stellt sich die Frage, wie Sie diese zur Verfügung stellen. Zwar können Sie eine neue Datenbank im Quelltext der Anwendung erstellen, wie in Abschnitt 13.4 gezeigt, allerdings ist dieser Aufwand insbesondere für große, vorab gefüllte Datenbanken unverhältnismäßig, da der Quelltext für die Erstellung der Anwendung nur einmal zu Beginn benötigt und daher die Dateigröße Ihrer Anwendung nur unnötig aufblähen würde. Daher ist es naheliegend, die benötigte Datenbank vorab zu erstellen und in das Anwendungspaket mit einzubeziehen.
13.2.5 Speicherung sensibler Daten
Wenn Sie sensible Daten speichern wollen, etwa die Zugangsdaten zu Ihrer Anwendung oder die Daten für den Lizenzschlüssel Ihrer wertvollen Anwendung, sind Sie auf die Möglichkeit angewiesen, die in der Datenbank gespeicherten Daten zu verschlüsseln, um Datendiebstahl zu verhindern. AIR unterstützt seit jeher die Speicherung von verschlüsselten Dateien im Encrypted Local Store-Bereich der Anwendung, also im verschlüsselten lokalen Speicherbereich.
Seit AIR 1.5 können nun auch in der Datenbank verschlüsselte Daten abgelegt werden. Wozu das nötig ist? Grundsätzlich teilen sich alle gleichzeitig laufenden Anwendungen die gleiche SQLite-Engine, sodass theoretisch nicht ausgeschlossen ist, dass Sie mit einer Anwendung auf die Datenbankdatei einer anderen Anwendung zugreifen können. So könnten unbefugt sensible Daten aus der Datenbank ausgelesen werden, was durch die Verschlüsselung verhindert wird. Dem Aspekt der Verschlüsselung von Inhalten ist ein eigenes Kapitel gewidmet: Kapitel 14, »Daten verschlüsselt speichern«.
13.3 Datenbankereignisse
Wie alle anderen Bereiche, in denen Ihre AIR-Anwendung mit externen Ressourcen in Berührung kommt, kann auch der Zugriff auf die lokale Datenbank synchron oder asynchron/ereignisbasiert geschehen – das wurde bereits erwähnt. Tabelle 13.2 verschafft Ihnen einen Überblick über die bei Datenbankoperationen auftauchenden Ereignisse.
Ereignis
SQLEvent.ANALYSE
Auslöser
SQLConnection
SQLEvent.ATTACH SQLConnection
SQLEvent.BEGIN SQLConnection
SQLEvent.CANCEL
SQLEvent.CLOSE SQLConnection, SQLStatement
SQLConnection
SQLEvent.COMMIT SQLConnection
SQLEvent.COMPACT SQLConnection
SQLEvent.DEANALYSE SQLConnection
SQLEvent.DETACH SQLConnection
SQLEvent.OPEN SQLConnection
SQLEvent.REENCRYPT SQLConnection
SQLEvent.RESULT SQLStatement
SQLEvent.ROLLBACK SQLConnection
SQLEvent.SCHEMA SQLConnection
SQLError.ERROR SQLConnection, SQLStatement
Beschreibung
wird ausgelöst, wenn die Analyse von Datenbankindizes abgeschlossen ist wird ausgelöst, wenn eine weitere Datenbank angehängt wird
wird ausgelöst, wenn eine Transaktion begonnen wurde
wird nach Abbruch von Datenbankoperation(en) ausgelöst
wird nach Schließen der Datenbankverbindung ausgelöst
wird nach Abschluss einer Transaktion ausgeführt
wird nach Bereinigung der Datenbank ausgeführt
wird nach Entfernen von Index-Statistikinformationen ausgelöst
wird ausgelöst, wenn eine Datenbank abgehängt wurde
wird nach Öffnen einer Datenbankverbindung ausgelöst
wird nach Ändern des VerschlüsselungsSchlüssels ausgelöst (siehe Kapitel 14, »Daten verschlüsselt speichern«)
wird nach einer erfolgreich durchgeführten Abfrage ausgelöst
wird nach einer abgebrochenen Transaktion (Rollback) ausgelöst
wird
Weitere Kostenlose Bücher