【问题标题】:My SQL Server Express has gone nuts it seems, at times mounting db and others not我的 SQL Server Express 似乎发疯了,有时安装 db 和其他没有
【发布时间】:2011-11-27 13:16:57
【问题描述】:

我不确定到底发生了什么,因为我无法在两者之间建立严格的线性相关性 事件。但是在下面你会发现我的连接字符串,有时它可以工作,有时当我打开我正在构建的应用程序/项目(没有进行任何更改)时它没有,并且给了我各种错误和原因。

<add name="EFDbContext"
     connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA\EFDbContext.mdf;MultipleActiveResultSets=true;Integrated Security=True;User Instance=True"
     providerName="System.Data.SqlClient" />

错误包括:

无法完成操作。提供的 SqlConnection 未指定初始目录。

说 Amin-PC\Admin 没有访问权限(我是 admin 登录)

当我有时尝试添加新连接时,它会告诉我我没有访问权限或数据库已经存在或只是正常添加!

我尝试以管理员身份明确启动 Visual Studio,这似乎有助于解决拒绝访问 db 问题。

基本上我不知道到底发生了什么。

最近开始使用 .net,它一直很容易为 asp.net mvc 框架编码,直到我开始与底层 asp.net 基础设施、连接字符串、过时的(非实体框架就绪)成员提供程序等进行交互。

现在不知道与 VS2010 一起安装了很长时间的 SQL Server Express 版本发生了什么。

【问题讨论】:

    标签: asp.net sql-server asp.net-mvc visual-studio-2010 sql-server-express


    【解决方案1】:

    我的建议是:因为您已经安装了服务器实例 (.\SQLEXPRESS) - 将您的数据库附加到 SQL Server Express 实例,然后以它们的数据库名称使用它们(而不是使用不稳定的 AttachDbFileName= 方法)。

    所以:

    • 启动您的 SQL Server Management Studio Express
    • 找到您想要的 MDF 文件
    • 使用服务器 > 附加数据库将 MDF/LDF 附加到服务器 - 给它起有意义的名称
    • 从那时起 - 使用服务器上的数据库,不要在运行中附加 MDF....

    您的连接字符串将如下所示:

    server=.\SQLEXPRESS;Database=YourEFDatabaseName;Integrated Security=True
    

    我发现这种方法通常更加可靠和可预测 - AttachdbFileName=User Instance=true 应该更容易,但往往比其他方法更容易混淆......

    【讨论】:

      【解决方案2】:

      请参阅 SQL Server 连接字符串示例here

      【讨论】:

        猜你喜欢
        • 2020-06-12
        • 2018-03-07
        • 1970-01-01
        • 2011-08-31
        • 1970-01-01
        • 1970-01-01
        • 2016-12-26
        • 2020-05-11
        • 2016-05-01
        相关资源
        最近更新 更多