【发布时间】:2019-06-24 19:53:07
【问题描述】:
我在连接到本地 MySQL 数据库时遇到问题。
我确保服务器正在运行,我可以使用连接字符串中的用户和密码连接到服务器,并使用终端创建数据库。
我在 Mac 和 MySQL 8.0.16 上使用 Visual Studio 社区。
示例: 程序.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace ReadSQL
{
class Program
{
static void Main(string[] args)
{
DataAccess dataAccess = new DataAccess();
dataAccess.GetTask();
}
}
}
DataAccess.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Dapper;
using System.Data;
namespace ReadSQL
{
public class DataAccess
{
public List<Task> GetTask()
{
using (IDbConnection connection = new System.Data.SqlClient.SqlConnection(Helper.CnnVal("workloadDB")))
{
var output = connection.Query<Task>($"select * from task where id=1").ToList(); //exception thrown here
Console.WriteLine(output);
}
}
}
}
Helper.cs
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ReadSQL
{
public static class Helper
{
public static string CnnVal(string name)
{
return ConfigurationManager.ConnectionStrings[name].ConnectionString;
}
}
}
Task.cs
using System;
namespace ReadSQL
{
public class Task
{
int id { get; set; }
string name { get; set; }
}
}
App.config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<connectionStrings>
<add name="workloadDB" connectionString="Server=localhost;Database=workload;Uid=root;Pwd=adminPasswort;" providerName="System.Data.SqlClient"/>
</connectionStrings>
</configuration>
我希望变量输出包含我的表的第一行,但我得到了错误消息:
System.Data.SqlClient.SqlException 发生网络相关或特定于实例的错误,同时 建立与 sql server 的连接。找不到服务器或 无法访问。验证实例名称是否正确,并且 SQL Server 配置为允许远程连接。
我不知道为什么我无法建立连接,因为 MySQL 服务器肯定正在运行并且连接字符串应该是正确的(也尝试过:trusted_connection=true;)。 提前致谢!
【问题讨论】:
标签: c# mysql dapper visual-studio-mac