一尘不染

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

c#

我试图建立一个ASP.NET MVC 5
Web应用程序,该MyDatabase.mdf文件在App_Data文件夹中。我有一个LocalDb实例安装的SQL Server 2014
Express 。我可以使用服务器资源管理器来编辑数据库表,但是当我调试应用程序并转到需要数据库的页面时,出现以下错误。

建立与SQL Server的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称正确,并且已将SQL
Server配置为允许远程连接。(提供者:SQL网络接口,错误:50-发生本地数据库运行时错误。无法创建自动实例。有关错误详细信息,请参阅Windows应用程序事件日志。

因此,我查看了下面的“事件查看器” Application,一次又一次地看到一个警告。

指定用于缓存压缩内容的目录C:\ Users \ User1 \ AppData \ Local \ Temp \ iisexpress \
IIS临时压缩文件\ Clr4IntegratedAppPool无效。静态压缩被禁用。

因此,我尝试重新启动服务器,但仍然无法进行。与以前相同的错误50。

我在Models名为的课程下创建了一个课程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中对其进行编辑,但是在调试应用程序时无法连接到数据库?


阅读 606

收藏
2020-05-19

共1个答案

一尘不染

对LocalDB的重大更改:适用于SQL
2014
;看一下本文,尝试(localdb)\mssqllocaldb用作服务器名称以连接到LocalDB自动实例,例如:

<connectionStrings>
  <add name="ProductsContext" connectionString="Data Source=(localdb)\mssqllocaldb; 
  ...

本文还提到使用2012 SSMS连接到2014 LocalDB。这使我相信您可能安装了多个版本的SQL-
这使我指出了这样的答案,建议您更改LocalDB“实例”的默认名称,以避免将来可能出现的其他版本不匹配的问题。提到的问题并非源于此,而是提高了对潜在冲突的认识,即在一台开发机上安装多个SQL版本可能会导致…以及一些习惯,以避免某些冲突。

值得一提的另一件事-如果由于修补实例而使实例处于无法使用状态,则可能需要重新开始-卸载,重新安装-
然后尝试使用该mssqllocaldb值代替,v12.0看看是否可以解决您的问题。

2020-05-19