Erreur de connexion avec MySql.Data.MySqlClient sur l'application Android
Lors de la tentative d'ouverture d'une connexion à une base de données MySQL à partir d'une application Android à l'aide MySql.Data.MySqlClient, une exception est levée, indiquant que l'initialiseur de type pour « MySql.Data.MySqlClient.Replication.ReplicationManager » a échoué.
Détails de l'erreur :
System.TypeInitializationException: The type initializer for 'MySql.Data.MySqlClient.Replication.ReplicationManager' threw an exception.
Extrait de code :
<code class="csharp">MySqlConnection _Conn; public void Conectar() { new I18N.West.CP1250(); string SC; SC = "server = XXX; Port = 3306; database = XXX; user id = XXX; password = XXX; charset = utf8"; _Conn = new MySqlConnection(SC); _Conn.Open(); }</code>
Solution :
L'erreur est liée à une incompatibilité connue entre MySql.Data.MySqlClient et certaines versions du système d'exploitation Android. Pour résoudre le problème, utilisez le package MySqlConnector au lieu de MySql.Data :
Désinstallez MySql.Data :
<code class="bash">PM> Uninstall-Package MySql.Data</code>
Installez MySqlConnector :
<code class="bash">PM> Install-Package MySqlConnector</code>
Utilisez MySqlConnector dans votre code :
Remplacez les références MySql.Data existantes par MySqlConnector :
<code class="csharp">using MySqlConnector; // Replace using MySql.Data.MySqlClient with this ... // Replace with the appropriate connection string var connectionString = "server=YOUR_SERVER;port=YOUR_PORT;database=YOUR_DATABASE;user id=YOUR_USER_ID;password=YOUR_PASSWORD"; using var connection = new MySqlConnection(connectionString);</code>
En suivant ces étapes, vous pouvez établir une connexion réussie à une base de données MySQL à partir de votre application Android à l'aide de MySqlConnector.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!