我一直在尝试连接MySQL数据库,但一直遇到异常0x80131904:找不到服务器。我知道服务器正在运行,我可以通过命令行查询它。我还确保没有启用跳过网络。我做错了什么?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Data.SqlClient;
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Connecting to database...");
SqlConnection sqlserver = new SqlConnection("user id=<removed>;" +
"password=<removed>;server=localhost;" +
"Trusted_Connection=yes;" +
"database=ircbot; " +
"connection timeout=5");
try
{
sqlserver.Open();
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("Connected");
Console.ResetColor();
}
catch (Exception e)
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine(e.ToString());
Console.ResetColor();
}
Console.ReadLine();
} //end main
} //end class Program
答案 0 :(得分:2)
SqlConnection
仅 用于连接到Microsoft SQL Server,您无法使用它连接到任何其他DBMS,如MySQL。
为了能够从C#连接到MySQL,您需要MySQL Connector/Net。它附带一个MySqlConnection
类和相应的数据读取器和参数类。
可以找到介绍here。
答案 1 :(得分:0)
尝试使用127.0.0.1而不是“localhost”作为服务器。
答案 2 :(得分:0)
MySql.Data.MySqlClient.MySqlConnection conn;
string myConnectionString;
myConnectionString = "server=127.0.0.1;uid=root;" +
"pwd=12345;database=test;";
try
{
conn = new MySql.Data.MySqlClient.MySqlConnection();
conn.ConnectionString = myConnectionString;
conn.Open();
}
catch (MySql.Data.MySqlClient.MySqlException ex)
{
MessageBox.Show(ex.Message);
}