Bonjour tout le monde.
J'utilisais les composants dbXpress pour me connecter à Firebird, j'ai changé et suis passé aux composants IB natifs Firebird/Interbase.
J'ai plusieurs bases de données Firebird (2 en fait), je fait des rappatriements de données, dans un premier temps de la première base de données vers la seconde, puis de la seconde vers la seconde.
Et lorsque j'essaie d'ouvrir la seconde requête (pour le second rappatriement), j'ai ce message d'erreur :
J'ai regardé l'état connecté des bases de données, si mes transactions sont actives et normalement, c'est bon de ce côté là.invalid transaction handle (expecting explicit transaction start).
Savez-vous ce que signifie ce message d'erreur ? Afin de pouvoir mieux orienter mes recherches.
Pour le sujet, j'ai limité mes explications à 2 bases de données, mais mon code doit fonctionner pour un nombre non limité de bases de données.
J'ai peur de ne pas faire les bonnes affectations entre les transactions, les bases de données et les requêtes, ce que je fais, c'est chaque transaction est affectée à une unique base de données (une transaction pour la source et une pour la destination). Et chaque base de données possède sa transaction.
Exemple pour la source :
Si la base de données source est la même que la base de données destination, elle possède 2 transactions. C'est bien ainsi qu'il faut faire ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 ibTransactionSource.RemoveDatabases; ibTransactionSource.AddDatabase( ibSource.Database ); ibSource.Database.AddTransaction( ibTransactionSource );
Merci pour votre aide.
Partager