我使用。mdf来连接数据库和entityClient。现在我想改变连接字符串,这样就不会有.mdf文件了。

下面的connectionString是否正确?

<connectionStrings>
   <!--<add name="conString" connectionString="metadata=res://*/conString.csdl|res://*/conString.ssdl|res://*/conString.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=.\SQL2008;AttachDbFilename=|DataDirectory|\NData.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />-->
   <add name="conString" connectionString="metadata=res://*/conString.csdl|res://*/conString.ssdl|res://*/conString.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=.\SQL2008;Initial Catalog=NData;Integrated Security=True;Connect Timeout=30;User Instance=True;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />

因为我总是得到错误:

基础提供程序在Open上失败


当前回答

我在网上搜索这个问题。我在连接字符串中输入了错误的名称,请检查web.config中的连接字符串。我有name="AppTest",但它应该是name="App"。

在我的AppTestContext.cs文件中我有:

public AppTestContext() : this("App") { }

错误的连接字符串:

<add connectionString="Data Source=127.0.0.1;Initial Catalog=AppTest;Integrated Security=SSPI;MultipleActiveResultSets=True" name="AppTest" providerName="System.Data.SqlClient" />

右连接字符串:

<add connectionString="Data Source=127.0.0.1;Initial Catalog=AppTest;Integrated Security=SSPI;MultipleActiveResultSets=True" name="App" providerName="System.Data.SqlClient" />

其他回答

我得到这个错误时调用异步EF方法从同步主控制台(等待被跳过)。

因为异步打开连接是针对已经处理的数据上下文。

解决方法:正确调用异步EF方法

SQL Server Express服务未设置为自动启动。

1)进入控制面板 2)管理工具 3)服务 4)将SQL Server express设置为自动启动 5)右键单击,启动服务

我希望这能有所帮助。

由于连接状态,我遇到了类似的异常问题,然后我意识到我的域服务类变量被标记为静态(错误地)。

我的猜测是,一旦服务库加载到内存中,每个新调用最终都会使用相同的静态变量值(域服务实例),从而通过连接状态引起冲突。

我还认为每个客户端调用都会产生一个新线程,因此多个线程访问同一个域服务实例就相当于火车失事。

您应该查看innerException,以了解抛出的内部原因 错误。

在我的例子中,最初的错误是:

无法打开物理文件“D:\Projects2\xCU\xCU\App_Data\xCUData_log.ldf”。操作系统错误5:“5(访问被拒绝。)”。 试图为文件D:\Projects2\xCU\xCU\App_Data\xCUData附加一个自动命名的数据库。mdf失败了。存在同名数据库、无法打开指定文件或位于UNC共享上。

这一问题通过赋予当前用户使用文件属性访问相关MDF和LDF文件的完全权限来解决。

我在网上搜索这个问题。我在连接字符串中输入了错误的名称,请检查web.config中的连接字符串。我有name="AppTest",但它应该是name="App"。

在我的AppTestContext.cs文件中我有:

public AppTestContext() : this("App") { }

错误的连接字符串:

<add connectionString="Data Source=127.0.0.1;Initial Catalog=AppTest;Integrated Security=SSPI;MultipleActiveResultSets=True" name="AppTest" providerName="System.Data.SqlClient" />

右连接字符串:

<add connectionString="Data Source=127.0.0.1;Initial Catalog=AppTest;Integrated Security=SSPI;MultipleActiveResultSets=True" name="App" providerName="System.Data.SqlClient" />