【发布时间】:2014-12-02 14:31:42
【问题描述】:
我正在尝试构建一个 ASP.NET MVC 5 Web 应用程序,它在 App_Data 文件夹中有一个 MyDatabase.mdf 文件。我安装了带有 LocalDb 实例的 SQL Server 2014 Express。我可以使用服务器资源管理器编辑数据库表,但是当我调试应用程序并转到需要数据库的页面时,我收到以下错误。
在建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。 (提供者:SQL 网络接口,错误:50 - 发生本地数据库运行时错误。无法创建自动实例。有关错误详细信息,请参阅 Windows 应用程序事件日志。
所以我查看了Application 下的事件查看器,但一遍又一遍地只看到一个警告。
为缓存压缩内容指定的目录 C:\Users\User1\AppData\Local\Temp\iisexpress\IIS Temporary Compressed Files\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>
我已尝试发布 here 的建议,但没有奏效。也试过this。
我还注意到 MyDatabase 实例在我开始运行应用程序后断开连接。如果我使用 Visual Studio 中的服务器资源管理器刷新数据库,我可以查看表。
我如何可以连接到数据库并在 Visual Studio 2013 中对其进行编辑,但是当我调试应用程序时却无法连接到数据库?
【问题讨论】:
-
你试过
(localdb)\v11.0吗? -
刚刚尝试使用
(localdb)\v11.0,但结果与上述相同。 -
你确定,
SQL Server (SQLEXPRESS)服务正在运行。 -
是的,当我使用 SQL Server 配置管理器检查时,SQLEXPRESS 实例正在运行
-
你能用Management studio连接吗,有一篇文章-dyball.wordpress.com/2014/04/28/…,可能有帮助~
标签: c# asp.net sql-server