[英]Has ping to MySQL Server, but fails to connect through C# code
我正在使用 C# 程序連接到數據庫並在網格(TableFromMySql)中顯示數據。
我將我的程序安裝在與數據庫位於同一網絡的 PC 上。 Ping 沒問題,但我的程序無法連接,它到達 catch 語句並顯示“沒有連接到 DB”錯誤。
private void SQLMethod(string query)
{
try
{
using (MySqlConnection connection = new MySqlConnection(connectionString))
{
connection.Open();
using (MySqlCommand cmdSel = new MySqlCommand(query, connection))
{
DataTable dt = new DataTable();
MySqlDataAdapter da = new MySqlDataAdapter(cmdSel);
da.Fill(dt);
TableFromMySql = dt.DefaultView;
if (TableFromMySql.Count == 0)
System.Windows.MessageBox.Show("No results.", "INFO", MessageBoxButton.OK, MessageBoxImage.Error);
}
connection.Close();
}
}
catch
{
System.Windows.MessageBox.Show("No connection to " + serverIP, "ERROR", MessageBoxButton.OK, MessageBoxImage.Error);
}
}
連接字符串是一個字符串值:
private const string connectionString =
"SERVER=IP;" +
"PORT=3306;" +
"DATABASE=db;" +
"UID=root;" +
"PASSWORD=password;";
幾點注意事項:
IP是DB的實際ip地址,不能貼。
從該 PC 使用 HeidiSQL 連接到數據庫工作正常。
我還使用運行 MySQL 服務器 docker 容器的 Ubuntu VM 在本地 PC 上檢查了相同的代碼,並且代碼有效。
為了創建安裝文件,我使用了 Visual Studio 安裝程序擴展。
有任何想法嗎?
所以經過很長時間我找到了答案。 我添加到連接字符串“SslMode=None”,問題就解決了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.