Comment utiliser les événements sur une connexion de base de données Firebird intégrée?
-
09-10-2019 - |
Question
Si je me connecte à une base de données Firebird intégré, et créer un événement à distance, je reçois System.NotSupportedException: La méthode spécifiée est pas prise en charge .. sur le constructeur.
_fbRemoteEvent = new FbRemoteEvent(_fbConnection); //_fbConnection is valid and Opened
En regardant le code source de la pile d'appel, elle conduit à FesDatabase.cs avec
RemoteEvent IDatabase.CreateEvent()
{
throw new NotSupportedException();
}
J'utilise la version intégrée pour les tests automatisés but ... Y at-il quelque chose que je peux faire pour obtenir l'événement de la base de données intégrée dans un contexte de test?
La solution
Les événements sont malheureusement pas pris en charge en mode embarqué dans Firebird - ils ne peuvent être exécutés sur le réseau. Cela est dû au fait que l'ensemble protocole de mise en place d'un gestionnaire d'événements implique la mise en place d'une seconde connexion réseau au serveur FB - comme vous ne l'utilisez une connexion réseau du tout en mode intégré, cela ne fonctionnera pas.
Autres conseils
Les événements sont pris en charge dans Firebird Embedded mais le fournisseur Firebird ado.net (FirebirdSql.Data.FirebirdClient) n'implémente pas de support pour des événements lors de l'utilisation Firebird embarqué.