使用 C# 远程连接 MySQL
Posted
技术标签:
【中文标题】使用 C# 远程连接 MySQL【英文标题】:Connect to MySQL remotely with C# 【发布时间】:2017-11-27 16:45:22 【问题描述】:我在学校有一个 IT 任务,我需要为数据库收集数据。
我制作了一个允许用户输入的 C# 应用程序,然后将其存储到 mt 数据库中,问题是我似乎无法连接它。
我有一个 DNS:maliciouzzhd.ddns.net
。
我打开并转发了3306
端口。
我只是不知道这之后该怎么办。
我正在使用 XAMPP。
这是我的代码:
string CommandText = $"INSERT INTO UserData (FirstName, LastName, BirthDay, BirthMonth, BirthYear, UserName, EMail, Password, Admin, IP) values ('FirstNameInput.Text', 'LastNameInput.Text', BirthDayInput.Text, 'BirthMonthInput.Text', BirthYearInput.Text, 'UserNameInput.Text', 'EMailInput.Text', 'PasswordInput1.Text', 0, 'IPTextBox.Text')";
string ConnectionString = "server=maliciouzzhd.ddns.net;database=***********;uid=***********;pwd=**************;";
using (var mysqlconnection = new MySqlConnection(ConnectionString))
mysqlconnection.Open();
using (MySqlCommand cmd = mysqlconnection.CreateCommand())
cmd.CommandType = CommandType.Text;
cmd.CommandTimeout = 300;
cmd.CommandText = CommandText;
object objValue = cmd.ExecuteScalar();
mysqlconnection.Close();
如果有人知道我可以做些什么来让它连接,那就太好了。
谢谢
编辑:当我将Server=maliciouzzhd.ddns.net
更改为Server=10.0.0.1
或Server=127.0.0.1
时,忘记提及这适用于本地主机,但我需要它是远程的。
【问题讨论】:
您收到什么错误?Unable to connect to any of the specified MySQL hosts.
您需要先使用ang GUI 工具进行连接。如果此操作失败,则问题出在您创建的转发端口上。可能配置不正确。
忘了说我在 localhost 上工作了
您正在使用的 MySQL 用户可能未配置为从“任何”远程主机登录。 MySQL 用户像这样username@host
。您使用username@'%'
创建一个用户并尝试连接。
【参考方案1】:
首先添加mysql库。 项目->添加引用->浏览 dll 文件。 然后使用导入类
using MySql.Data.MySqlClient;
MySql 连接代码:
MySqlConnection conn;
conn = new MySqlConnection("SERVER=server_name;DATABASE=database_name;UID=database_username;PASSWORD=database_password");
打开连接
conn.Open();
关闭连接
conn.Close();
【讨论】:
以上是关于使用 C# 远程连接 MySQL的主要内容,如果未能解决你的问题,请参考以下文章