SQL网络接口,错误:50-本地数据库运行时发生错误。无法创建自动实例。

91
我正在尝试构建一个ASP.NET MVC 5 Web应用程序,其中在文件夹中有一个MyDatabase.mdf文件。我已经安装了SQL Server 2014 Express,并且有一个LocalDb实例。我可以使用服务器资源管理器编辑数据库表格,但是当我调试应用程序并转到需要数据库的页面时,我会收到以下错误消息:
“在建立与SQL Server的连接时发生网络相关或特定于实例的错误。找不到服务器或无法访问。请验证实例名称是否正确并确保已配置SQL Server以允许远程连接。(提供程序:SQL Network Interfaces,错误:50-本地数据库运行时错误。无法创建自动实例。有关错误详细信息,请参阅Windows应用程序事件日志。”
所以我查看了下的,只看到一个警告一遍又一遍。
"为缓存压缩内容指定的目录C:\Users\User1\AppData\Local\Temp\iisexpress\IIS Temporary Compressed Files\Clr4IntegratedAppPool是无效的。静态压缩被禁用。"
所以我尝试重新启动服务器,但仍然无法正常工作。与之前相同的错误50。
我在下创建了一个类,其中我有一个名为Post的类。
namespace MyApplication.Models
{
    public class Post
    {
        public int Id { get; set; }
        public string Title { get; set; }
        public string Content { get; set; }
    }

    public class MyDatabase : DbContext
    {
        public DbSet<Post> Posts { get; set; }
    }
}

我还设置了一个 Controller 来列出来自MyDatabase的文章。

namespace MyApplication.Controllers
{
    public class PostsController : Controller
    {
        private MyDatabase db = new MyDatabase();

        // GET: Posts
        public ActionResult Index()
        {
            return View(db.Posts.ToList());
        }
    }

在我的 web.config 文件中,连接字符串看起来像这样...

<connectionStrings>
    <add name="DefaultConnection" 
         connectionString="Data Source=(LocalDB)\v12.0;AttachDbFilename=|DataDirectory|\MyDatabase.mdf;Integrated Security=True" 
         providerName="System.Data.SqlClient" />
</connectionStrings>

我尝试了这里发布的建议,但它没有起作用。还尝试了这个

我还注意到,当我开始运行应用程序时,MyDatabase实例会断开连接。如果我在Visual Studio中使用服务器资源管理器刷新数据库,就可以查看表格。

为什么我可以在Visual Studio 2013中连接到数据库并对其进行编辑,但在调试应用程序时无法连接到数据库呢?


你尝试过(localdb)\v11.0吗? - Arindam Nayak
刚刚尝试使用(localdb)\v11.0,但结果和上面一样。 - Jonathan Kittell
你确定 SQL Server (SQLEXPRESS) 服务正在运行吗? - Arindam Nayak
是的,当我使用SQL Server配置管理器进行检查时,SQLEXPRESS实例正在运行。 - Jonathan Kittell
您能否使用管理工作室连接?这里有一篇文章 - http://dyball.wordpress.com/2014/04/28/sql-2014-localdb-error-cannot-connect-to-locaidbv12-o/,或许可以帮到您~ - Arindam Nayak
12个回答

2

在我的情况下,我们在一个解决方案中有多个项目,并且在使用Code-First Migrations运行“Update-Database”命令时选择了与包管理器控制台中不同的启动项目。请确保选择正确的启动项目。


1
我的问题是安装了多个版本的MS SQL Express。我进入安装文件夹 C:\Program Files\Microsoft SQL Server,发现有三个版本。我删除了两个文件夹,只留下MSSQL13.SQLEXPRESS,这解决了问题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接