Utilisation de plusieurs bases de données

Adobe AIR 1.0 et les versions ultérieures

La méthode SQLConnection.attach() permet d’ouvrir une connexion à une autre base de données sur une occurrence de SQLConnection pour laquelle une base de données est déjà ouverte. Nommez la base de données reliée à l’aide du paramètre name dans l’appel de la méthode attach() . Lorsque vous écrivez des instructions pour manipuler cette base de données, vous pouvez alors utiliser ce nom dans un préfixe (sous la forme nom-base de données.nom-table ) pour qualifier les noms de table dans vos instructions SQL, indiquant ainsi au moteur d’exécution que la table est disponible dans la base de données nommée.

Vous pouvez exécuter une même instruction SQL incluant des tables de plusieurs bases de données connectées à la même occurrence de SQLConnection. Si une transaction est créée sur l’occurrence de SQLConnection, cette transaction s’applique à toutes les instructions SQL exécutées à l’aide de cette occurrence de SQLConnection. Cela est vrai quelle que soit la base de données reliée sur laquelle l’instruction s’exécute.

Vous pouvez également créer plusieurs occurrences de SQLConnection dans une application, chacune connectée à une ou plusieurs bases de données. Toutefois, si vous utilisez cette technique, n’oubliez pas qu’une transaction de bases de données n’est pas partagée entre les occurrences de SQLConnection. Par conséquent, si vous vous connectez au même fichier de base de données à l’aide de plusieurs occurrences de SQLConnection, ne vous attendez pas à ce que les modifications de données des deux connexions s’appliquent de façon prévue. Par exemple, si deux instructions UPDATE ou DELETE s’exécutent sur la même base de données par l’intermédiaire d’occurrences de SQLConnection différentes et qu’une erreur survient après une opération, les données de la base peuvent être laissées dans un état intermédiaire éventuellement non réversible et affecter l’intégrité de la base de données (donc de l’application).