C#-Standalone-Anwendung, Fernzugriff auf MySQL direkt auf den Hosting-Server
P粉033429162
P粉033429162 2023-08-16 15:15:37
0
1
631
<p>Soweit ich weiß, habe ich viel über Putty, SSH, DDNS usw. recherchiert, um die dynamische IP meiner eigenständigen C#-Anwendung auf dem PC mit einer gehosteten MySQL-Datenbank zu verbinden. Da es sich um eine dynamische IP handelt, muss ich die IP-Adresse jedes Mal zur Whitelist hinzufügen. Kann mir jemand helfen, dieses Problem mithilfe der C#-Codierung zu lösen? Ich möchte einfach über die Verbindungszeichenfolge direkt eine Verbindung zum gehosteten MySQL herstellen und Vorgänge hinzufügen, aktualisieren und löschen. Danke. </p>
P粉033429162
P粉033429162

Antworte allen(1)
P粉821231319

要从您的C#独立应用程序连接到托管在远程服务器上的MySQL数据库,您可以使用MySQL Connector/NET库。该库提供了建立连接和执行各种数据库操作所需的工具。以下是您可以执行的方法:

1- 安装MySQL Connector/NET: 如果您尚未安装MySQL Connector/NET包,请在C#项目中安装它。您可以通过NuGet软件包管理器进行安装。搜索“MySql.Data”,并安装官方的MySQL Connector/NET包。

2- 连接字符串: 您需要构建一个连接字符串,其中包含连接到MySQL数据库所需的详细信息。由于您提到您的IP是动态的,并且每次都需要将其添加到白名单中,您可能需要每次调整连接字符串。以下是连接字符串的基本示例:

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- 执行数据库操作: 准备好连接字符串后,您可以使用MySQL Connector/NET库执行数据库操作,如INSERT、UPDATE、DELETE等。以下是执行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();
    }
}

类似地,您可以修改UPDATE和DELETE操作的查询。

请记住,出于安全原因,最好使用参数化查询(如上所示)来防止SQL注入攻击。

关于动态IP问题,如果您的IP地址经常更改并且每次都需要将其添加到白名单中,您可以考虑设置VPN或使用动态DNS(DDNS)服务,以获取与您的动态IP相对应的一致主机名。这可以为您提供更稳定的连接点并简化白名单设置。此外,您可能还希望与您的托管提供商讨论是否有更安全和可管理的远程连接选项,例如设置SSH隧道或使用虚拟专用网络。

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage