3

我刚刚安装了 VS2012 pro RC 和 SQL server Express 2012。我去运行我的应用程序,我得到了这个错误:

连接字符串中的数据源值指定了一个未安装的 SQL Server 实例。要解决此问题,您可以选择安装匹配的 SQL Server 实例或修改连接字符串中的数据源值。

我使用 VS2012 Developer preview 很长时间了,它曾经工作得很好。这是 web.config 文件中的连接字符串:

<add name="MySiteDBConnectionString"
     connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\MySiteDB.mdf;Integrated Security=True;User Instance=True"
     providerName="System.Data.SqlClient"/>

当我转到 Management Studio 时,我收到以下错误消息。当我去浏览服务器时,列表是空的。

在此处输入图像描述

问题出在哪里,我该如何解决?

谢谢。 在此处输入图像描述

4

1 回答 1

4

您需要确保 SQL Server 服务正在运行。web.config当您使用那个愚蠢AttachDbFileName的功能建立连接时,Visual Studio 可能会为您启动它。检查您的服务控制面板小程序并确保它SQL Server (SQLEXPRESS)正在运行。如果它没有运行,请启动它。

当您在那里时,确保SQL Browser服务正在运行不会有什么坏处。

使用合适的外壳也无妨。如果实例被调用SQLEXPRESS,那么不要调用它SqlExpressSQLExpress. 我从未听说过这种破坏性的连接,但要保持一致。您也可以尝试其他变体以防万一:

(local)\SQLEXPRESS
localhost\SQLEXPRESS
127.0.0.1\SQLEXPRESS
Your_Computer_Name\SQLEXPRESS

您还应该验证为此实例启用了哪些连接协议。转到开始 > 程序 > SQL Server > 配置工具 > 配置管理器,展开 SQL Server 网络配置,然后突出显示Protocols for SQLEXPRESS- 在右侧,您应该会看到共享内存、命名管道、TCP/IP。其中哪些已启用?

编辑

您应该从这里下载 SQL Server 2012 Express。安装它。然后创建一个数据库。将 Visual Studio 指向该数据库。停止,我的意思是STOP,使用User InstanceAttachDbFileName功能。这些东西本应使开发更容易,但归根结底,它们几乎无所作为,反而使开发成为后方的皇家痛苦。

另一种选择是使用SqlLocalDb进行本地开发。上个月,我写了一篇详尽的“入门”教程,可能会有所帮助。

于 2012-06-24T00:59:18.893 回答