在C# .net内核和(MySql)之间有一个非常奇怪的连接问题。我有一个非常简单的web,用于测试。我的一个端点非常简单,可以得到一个表的第一行:
string cnString = "myConnectionString";
string returnData = "";
using (MySqlConnection cnData = new MySqlConnection(cnString))
{
using (MySqlCommand cmdData = new MySqlCommand("SELECT userName FROM users LIMIT 1", cnData))
{
await cnData.OpenAsync();
await cmdData.ExecuteScalarAsync();
returnData = (string)cmdData.ExecuteScalar();
}
}
return Ok(returnData);我已经安装了MySql.Data NuGet包。在部署包时,会收到一个错误:无法连接到任何指定的MySQL主机。(序列包含多个匹配元素)
如果卸载MySql.Data包并安装MySqlConnector包,那么就没有错误,一切都正常工作。代码或连接字符串没有更改。我唯一改变的是NuGet包。
我认为这并不重要,但我的应用程序被部署到Amazon EC2实例中。
有人知道为什么MySql.Data包不能工作吗?对于我的部署,我需要这个包,我不能使用MySqlConnector包。
发布于 2020-02-17 03:42:34
如果其他人也有同样的问题,那么MySql.Data包中就会出现问题。
我怀疑它与这个已知的bug:MySql #97448有关。
我阅读它的方式是: Aurora集群使用多个IP地址,因此该序列包含多个元素错误。(多个元素是TcpStream()中的IP地址。
没有我看到的修复,但我找到了一个解决办法,将包降级为8.0.16修复了这个问题。
https://stackoverflow.com/questions/60236868
复制相似问题