VS2017 EF6 无法添加mysql数据库连接

问题描述 投票:0回答:1

在VS2017中我使用Microsoft EF6连接到mysql数据库。 当我尝试在应用程序“APP1”中添加新项目“ADO.NET 实体数据模型”时,无法建立与 mysql 数据库的连接。 enter image description here

我有一个现有的应用程序“APP2”,我可以通过单击“从数据库更新模型”来更新我的“DataModel.edmx”视图。一切正常,我可以更新表格,添加新表格等等。

两个应用程序都安装了相同的 NuGetPackages,并引用了与 mysql、dotnet 和实体框架完全相同的 dll。 因此必须与数据库建立有效的连接。

详细:
MSEntity Framework 6.4.4 (\packages\EntityFramework.6.4.4\lib et45\EntityFramework.dll)
MySQL for Visual Studio 1.2.7
MySql连接器9.0.0
MySql.Data 9.0.0 (\packages\MySql.Data.9.0.0\lib et462\MySql.Data.dll)
MySql.Data.EntityFramework 9.0.0
(\packages\MySql.Data.EntityFramework.9.0.0\lib et462\MySql.Data.EntityFramework.dll)
目标框架是 .NET Framework 4.7.2

我想应该允许它一次在一个应用程序中处理两个“ADO.NET 实体数据模型”。因此,我尝试在 APP2 中添加一个新的“ADO.NET 实体数据模型”,其中现有模型工作正常,但收到了相同的错误。

我确实知道有很多关于 SSPI 调用异常的答案,但他们没有解决我的问题。

了解内部异常非常有帮助。在 Windows 事件查看器中我找不到它。

任何帮助将不胜感激。

添加于2024年10月28日 在代码中打开连接工作正常,没有例外......

try
        {
            var conn = new MySql.Data.MySqlClient.MySqlConnection();
            conn.ConnectionString = connectionString;
            conn.Open();
        }
        catch (MySql.Data.MySqlClient.MySqlException ex)
        {
            MessageBox.Show(ex.Message);
        }
visual-studio-2017 entity-framework-6 mysql-connector sspi
1个回答
0
投票

我已经修复了它,我将回答我自己的问题,因为这对于那些在 EF6 中苦苦挣扎的人来说绝对有帮助,并且错误消息“调用 SSPI 失败”实际上并不让您知道在哪里进行顶部搜索!
这最终只是一个配置问题。
“MySql for Visualstudio”和“MySqlConnector”的几种组合不适合在一起,并在使用 EF6 模型创建向导时抛出此异常。
我在另一台 PC 上尝试了此操作,安装了带有所有驱动程序的 mysql 服务器,并且可以通过多种组合再次重现此错误。
如果您想在 mySql server 8 上使用 EF6 和 VS2017,请使用以下设置:

MySql 服务器 8
MySql for Visual Studio 1.2.9 (!)
MySql 连接器/NET 9.0.0 (!)
NuGet 包 EntityFramework 6.44
NuGet包MySql.Data 9.0.0(与MySql Connector/NET版本相同)
NuGet包MySql.Data.EntityFramework 9.0.0(“)


© www.soinside.com 2019 - 2024. All rights reserved.