问题 无法将运行时连接字符串转换为其设计时等效项


我上周更新到Visual Studio 2013,我无法再通过visual studio designer(.edmx文件)更新我的实体数据模型。

当我 right click > update model from database 我现在收到这个 错误

发生了'System.ArgumentException'类型的异常   尝试从数据库更新。异常消息是:   '无法将运行时连接字符串转换为其设计时   当量。连接字符串:server = 192.168.100.103; user   id = xxx; password = xxx; database = xxx; persist security info = True'。

我的连接字符串如下:

  <connectionStrings>
<add name="DbEntities" connectionString="metadata=res://*/Db.csdl|res://*/Db.ssdl|res://*/Db.msl;provider=MySql.Data.MySqlClient;provider connection string=&quot;server=192.168.100.103;user id=xxx;password=xxx;database=xxx;persist security info=True&quot;" providerName="System.Data.EntityClient" />

该过程在Visual Studio 2012中仍然可以正常工作


12717
2017-11-14 16:39


起源

你有没有代码优先?可能是因为连接字符串和提供程序的格式。 - Saeed Neamati
你移动了你的edmx吗?那些 res: 引用指向运行时编译的程序集中的资源。 - James
@SaeedNeamati有关如何更改它的任何建议?我根本没有改变我的项目。它是数据库第一,在2013年似乎仍然可以正常工作 - Particleman
@James没有,我没动。数据库模型分为单独的项目。真正唯一不同的是我尝试使用VS2013更新它 - Particleman
重建解决方案中的所有项目,确保引用仍然完好无损。 - James


答案:


显然,MySql和Visual Studio 2013还没有合作。

以下是MySql论坛上的链接: http://forums.mysql.com/read.php?174,594798,600466#msg-600466

您可能需要等待MySql连接器的下一个版本。

我甚至无法从Visual Studio 2013中的Server Exploer创建与MySql DB的连接。可以吗?


6
2017-11-21 10:51



这似乎是问题的根源。我不应该假设连接器适用于VS 2013.一旦我创建了一个新项目并尝试使用MySql,我就无法在添加连接中看到提供程序。我还下载了MySql for Visual Studio安装程序,但它似乎仍然不起作用。一个真正的无赖,但我会坐下来,直到他们增加支持。 - Particleman
同样的事情发生在我从VS 2013搬到VS 2015时。我必须回到VS 2013只是为了刷新/更新模型,然后我可以回到VS 2105 ....哦。 - Whatever Man


你需要下载Mysql连接器6.8.3.0和Mysql for Visual Studio 1.1.1(https://cdn.mysql.com/Downloads/MySQLInstaller/mysql-visualstudio-plugin-1.1.1.msi

在那之后,它对我有用。


4
2018-02-27 20:08





现在有一个新产品: http://dev.mysql.com/downloads/windows/visualstudio/

为我工作!


3
2018-06-20 08:59





我有一个与SQL Server Compact Edition类似的问题。虽然如上所述,我将明确说明:我的答案是在VS2012中启动它,并按照我在VS2013中尝试的.edmx生成数据库的相同步骤。


1
2017-12-12 18:38



这是Sql CE和VS2013的合法错误 - 请参阅: entityframework.codeplex.com/workitem/1838 - Pawel
谢谢帕维尔。它现在显示在6.1版本中修复,我们需要等待。 - peterincumbria
根据链接,显然VS2013已经放弃了对SQL CE的支持,现在他们只是抛出了更具描述性的错误。 - jporcenaluk


很可能您使用的是旧版本的MYSQL for VS或者没有安装任何版本。 只需安装/更新MySQL for visual studio 这里 : http://dev.mysql.com/downloads/windows/visualstudio/

为我工作它也应该工作!


1
2018-05-01 14:19





我也在Oracle上收到此错误消息。我以前安装了Oracle ODT,以便使用我们旧的数据库使用Visual Studio。但是,当我们迁移到12.2服务器时,我从工具的12.1版本升级到12.2版本。那是我开始收到上述错误的时候。

对我来说,修复是更新machine.config。将对旧驱动程序版本的所有引用更改为新驱动程序版本。就我而言,我将Oracle.ManagedDataAccess从4.121.1.0更新为4.122.1.0。


0
2017-09-07 19:50