Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2012 实体框架5和Amazon RDS-“;基础提供程序在打开时失败。”;_Visual Studio 2012_Amazon Web Services_Entity Framework 5_Sql Server 2012_Amazon Rds - Fatal编程技术网

Visual studio 2012 实体框架5和Amazon RDS-“;基础提供程序在打开时失败。”;

Visual studio 2012 实体框架5和Amazon RDS-“;基础提供程序在打开时失败。”;,visual-studio-2012,amazon-web-services,entity-framework-5,sql-server-2012,amazon-rds,Visual Studio 2012,Amazon Web Services,Entity Framework 5,Sql Server 2012,Amazon Rds,我有一个C#/Entity Framework web应用程序可以在本地SQL 2012 db上正常运行。我将数据库复制到一个新的RDS实例,并可以通过Visual Studio和SQL Server Management Studio访问数据库 我有一个单元测试,它对用户进行身份验证,然后尝试使用实体框架调用dataContext.SaveChanges()在表中插入一条记录 我得到以下错误: {"The underlying provider failed on Open."} {"No s

我有一个C#/Entity Framework web应用程序可以在本地SQL 2012 db上正常运行。我将数据库复制到一个新的RDS实例,并可以通过Visual Studio和SQL Server Management Studio访问数据库

我有一个单元测试,它对用户进行身份验证,然后尝试使用实体框架调用dataContext.SaveChanges()在表中插入一条记录

我得到以下错误:

{"The underlying provider failed on Open."}
{"No such host is known"}
{"A network-related or instance-specific error occurred while establishing a connection to SQL Server. 
The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections.
(provider: TCP Provider, error: 0 - No such host is known.)"}
我整天都在网上搜寻答案,到目前为止,我发现的任何建议都没有成功:

  • 端口1433已打开,我可以通过Telnet访问入口点
  • 我的IP地址包含在默认安全性的CIDR/IP范围内 小组
  • 当我试图打开连接时,就会发生错误 在datacontext上
  • 数据库服务器配置为接受远程访问 联系
  • db服务器配置为使用混合身份验证 (包括Windows和SQL Server)
实体框架连接字符串

connectionString = "metadata=res://*/MyDb.csdl|res://*/MyDb.ssdl|res://*/MyDb.msl;provider=System.Data.SqlClient;provider connection string="Data Source=MyAwsEntryPoint;Initial Catalog=MyDb;User ID=MyUser;Password=MyPassword;Persist Security Info=True;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient"
connectionString = "Data Source=MyAwsEntryPoint,1433;Initial Catalog=MyDb;User ID=MyUser;Password=MyPassword;Persist Security Info=True;Application Name=MyAppName;"
标准数据库连接字符串

connectionString = "metadata=res://*/MyDb.csdl|res://*/MyDb.ssdl|res://*/MyDb.msl;provider=System.Data.SqlClient;provider connection string="Data Source=MyAwsEntryPoint;Initial Catalog=MyDb;User ID=MyUser;Password=MyPassword;Persist Security Info=True;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient"
connectionString = "Data Source=MyAwsEntryPoint,1433;Initial Catalog=MyDb;User ID=MyUser;Password=MyPassword;Persist Security Info=True;Application Name=MyAppName;"

问题出在连接字符串中。具体来说,我有“应用程序名”和“应用程序”属性。一旦我把它们取下来,它就起作用了

坏的:


好:



看起来这是一个与网络相关的问题,与EF无关。我假设这是一个与网络相关的问题(因为这是唯一改变的事情),但我可以通过.NET成员资格调用访问数据库并获得身份验证。只有当我尝试在EF datacontext上打开db连接时,我才遇到问题。dataContext.Database.Connection.Open();很公平。因此,如果您的成员资格提供者和EF访问的是同一个服务器/数据库,您应该确保信息匹配。您是否使用数据库优先/模型优先…?数据库优先模型。将双重检查连接字符串。切换到ODBC连接它工作正常(在为内联SQL语句交换EF代码之后)。所以这似乎排除了环境和db许可问题。万岁!实际上,我打算发布一个答案,其中包含字符串之间的一些差异(不知道有什么意义),并建议您尝试一下。很高兴看到这个修好了!你知道为什么删除应用程序名解决了这个问题吗?我也遇到了同样的问题,但这对我没有任何帮助:(我的本地数据库工作正常。部署到我的服务器,我的一个连接工作正常。另一个不工作。它们都在同一个数据库服务器上,不同的数据库,相同的用户名。