J'accède à une base de données MySql via ODBC. Cela fonctionne normalement bien, mais si la base de données est arrêtée et redémarrée, je dois redémarrer mon application afin de me reconnecter à la base de données.Problème de connexion MySql/Odbc
Le code d'accès à la base de données est comme ceci:
OdbcConnection connection = new OdbcConnection(connectString);
OdbcCommand command = connection.CreateCommand();
command.CommandType = CommandType.Text;
command.CommandText = "select * from cds";
OdbcDataAdapter dataAdapter = new OdbcDataAdapter(command);
DataSet dataSet = new DataSet();
connection.Open();
dataAdapter.Fill(dataSet);
connection.Close();
Après un redémarrage de la base de données, je reçois un « serveur MySql a disparu » exception dans la méthode DataAdapter.Fill. Est-ce que est-il possible de me reconnecter à la base de données lorsque je détecte que la connexion est rompue? Je utilise VS2008 et MySQL 5.1.30.
Je dirais que redémarrer MySQL n'est pas vraiment une opération normale, plus vous pouvez gérer l'exception et reconnecter non? – RageZ
que "MySQL Server est parti", me fait chier à n'en plus finir. Je suis passé à PostgreSQL, pas de problème comme ça, content d'avoir changé. De plus, j'ai une requête qui est de 45 secondes auparavant dans MySQL, lorsque porté à Postgresql est devenu 6 secondes. Je souhaite avoir découvert la solution à ce problème MySQL intermittent afin que je puisse fournir une réponse ici. Ce que je peux faire maintenant est juste upvote quiconque a une idée sur la façon d'éviter ce problème dans MySQL – Hao
Lorsque j'essaie de gérer l'exception, je reçois toujours une nouvelle exception sur l'appel à la méthode dataAdapter.Fill(). – Ingvald