Maison  >  Questions et réponses  >  le corps du texte

Application autonome C# accédant à distance à MySQL directement au serveur d'hébergement

<p>D'après ce que j'ai compris, j'ai fait de nombreuses recherches sur Putty, SSH, DDNS, etc. pour connecter l'IP dynamique de mon application autonome PC C# à une base de données MySQL hébergée. Puisqu'il s'agit d'une IP dynamique, je dois à chaque fois ajouter l'adresse IP à la liste blanche. Quelqu'un peut-il m'aider à résoudre ce problème en utilisant le codage C# ? Je souhaite simplement me connecter à MySQL hébergé directement à l'aide de la chaîne de connexion et effectuer des opérations d'ajout, de mise à jour et de suppression. Merci. </p>
P粉033429162P粉033429162452 Il y a quelques jours537

répondre à tous(1)je répondrai

  • P粉821231319

    P粉8212313192023-08-17 13:01:58

    Pour vous connecter depuis votre application autonome C# à une base de données MySQL hébergée sur un serveur distant, vous pouvez utiliser la bibliothèque MySQL Connector/NET. Cette bibliothèque fournit les outils nécessaires pour établir des connexions et effectuer diverses opérations de base de données. Voici comment procéder :

    1- Installer MySQL Connector/NET : Si vous n'avez pas installé le package MySQL Connector/NET, veuillez l'installer dans votre projet C#. Vous pouvez l'installer via le gestionnaire de packages NuGet. Recherchez « MySql.Data » et installez le package officiel MySQL Connector/NET.

    2- Chaîne de connexion : Vous devez créer une chaîne de connexion avec les détails nécessaires pour vous connecter à la base de données MySQL. Puisque vous avez mentionné que votre adresse IP est dynamique et doit être ajoutée à la liste blanche à chaque fois, vous devrez peut-être ajuster la chaîne de connexion à chaque fois. Voici un exemple basique de chaîne de connexion :

    string server = "your-server-ip";
    string database = "your-database-name";
    string uid = "your-username";
    string password = "your-password";
    
    string connectionString = $"Server={server};Database={database};Uid={uid};Pwd={password};";

    3- Effectuer des opérations de base de données : Après avoir préparé la chaîne de connexion, vous pouvez utiliser la bibliothèque MySQL Connector/NET pour effectuer des opérations de base de données telles que INSERT, UPDATE, DELETE, etc. Voici un exemple de réalisation d'une opération INSERT :

    using MySql.Data.MySqlClient;
    
    // ...
    
    using (MySqlConnection connection = new MySqlConnection(connectionString))
    {
        connection.Open();
    
        string query = "INSERT INTO your_table (column1, column2) VALUES (@val1, @val2)";
        using (MySqlCommand command = new MySqlCommand(query, connection))
        {
            command.Parameters.AddWithValue("@val1", value1);
            command.Parameters.AddWithValue("@val2", value2);
    
            command.ExecuteNonQuery();
        }
    }

    De même, vous pouvez modifier les requêtes pour les opérations UPDATE et DELETE.

    N'oubliez pas que pour des raisons de sécurité, il est préférable d'utiliser des requêtes paramétrées (comme indiqué ci-dessus) pour empêcher les attaques par injection SQL.

    Concernant le problème de l'IP dynamique, si votre adresse IP change fréquemment et doit être ajoutée à la liste blanche à chaque fois, vous pouvez envisager de mettre en place un VPN ou d'utiliser un service DNS dynamique (DDNS) pour obtenir l'adresse IP correspondant à votre IP dynamique. . Nom d'hôte cohérent. Cela vous donne un point de connexion plus stable et simplifie la configuration de la liste blanche. De plus, vous souhaiterez peut-être également discuter avec votre fournisseur d'hébergement s'il existe des options de connexion à distance plus sécurisées et plus faciles à gérer, telles que la configuration d'un tunnel SSH ou l'utilisation d'un réseau privé virtuel.

    répondre
    0
  • Annulerrépondre