使用LocalDB

时间:2017-12-21 21:24:14

标签: c# sql-server asp.net-mvc localdb

我试图在我家网络上的另一台计算机上发布我的网站。我在该计算机上设置了IIS和SQL Server 2016 Express。我的开发笔记本电脑上版本相同当我运行该网站时,我得到以下错误。我认为问题可能是我尝试使用LocalDB。我经常旅行,而且我没有互联网连接。这就是为什么我认为在开发时最好使用localDB。一旦我回到家,我就会发布到我的服务器。

最初,我的计算机上创建的LocalDB位于远离我项目的文件夹中。所以我做的是将它移动到app_data,以便在我发布时附加它。

我尝试了什么:

  1. 重新安装Microsoft SQL Server 2016(确保已安装LocalDB)
  2. 确保数据库实际上位于服务器上的App_Data文件夹
  3. 更改了连接字符串以在app_data
  4. 中查找数据库

    任何建议都会很棒。

    连接字符串:

    <connectionStrings 
        <add name="IgorsSellersToolBoxDB" 
             connectionString="metadata=res://*/Models.ModelDB.csdl|res://*/Models.ModelDB.ssdl|res://*/Models.ModelDB.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source= LocalDB)\MSSQLLocalDB;attachdbfilename=|DataDirectory|\IgorsSellersToolBoxDB.mdf;integrated security=True;multipleactiveresultsets=True;connect timeout=30;application name=EntityFramework&quot;" 
             providerName="System.Data.EntityClient" />
    </connectionStrings>
    

    错误:

      

    &#39; / WebToolbox&#39;中的服务器错误应用

         

    建立与SQL Server的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。 (提供程序:SQL网络接口,错误:50 - 发生本地数据库运行时错误。指定的LocalDB实例不存在。   )

         

    描述:执行当前Web请求期间发生了未处理的异常。请查看堆栈跟踪,以获取有关错误及其在代码中的起源位置的更多信息。

         

    异常详细信息:System.Data.SqlClient.SqlException:建立与SQL Server的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。 (提供程序:SQL网络接口,错误:50 - 发生本地数据库运行时错误。指定的LocalDB实例不存在。)

         

    来源错误:

         

    在执行当前Web请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常的起源和位置的信息。

1 个答案:

答案 0 :(得分:0)

史蒂夫在评论中提到,我已经确认在生产中使用localDB是不受欢迎的。

<强>解决方案: 在我的开发计算机上使用SQL Server,在我的生产服务器上使用单独的SQL Server。我所要做的就是在我的Web.Config中有单独的连接字符串。

在您的web.config中,您可以在解决方案资源管理器中展开该文件,您将看到两个文件:

  • Web.Debug.Config
  • Web.Release.Config

这里有一个很好的答案可以很好地解释它 - &gt; Using different Web.config in development and production environment