Asp.net Web主机上的MVC 3 ASPNETDB.MDF SqlExpress数据库连接字符串

Asp.net Web主机上的MVC 3 ASPNETDB.MDF SqlExpress数据库连接字符串,asp.net,asp.net-mvc,connection-string,sql-server-express,Asp.net,Asp.net Mvc,Connection String,Sql Server Express,我认为这更多的是MVC 3的连接字符串问题,所以提前表示歉意 我在MVC 3中创建了一个网站,其中包含注册新用户时创建的默认数据库。它在本地运行良好,但在我的web主机上运行不正常,我收到以下错误: 建立与SQL Server的连接时发生与网络相关或特定于实例的错误。找不到服务器或无法访问服务器。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。(提供程序:SQL网络接口,错误:26-定位指定的服务器/实例时出错) 默认连接字符串为: <connectionString

我认为这更多的是MVC 3的连接字符串问题,所以提前表示歉意

我在MVC 3中创建了一个网站,其中包含注册新用户时创建的默认数据库。它在本地运行良好,但在我的web主机上运行不正常,我收到以下错误:

建立与SQL Server的连接时发生与网络相关或特定于实例的错误。找不到服务器或无法访问服务器。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。(提供程序:SQL网络接口,错误:26-定位指定的服务器/实例时出错)

默认连接字符串为:

<connectionStrings>
    <add name="ApplicationServices" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true"
  providerName="System.Data.SqlClient" />
    <add name="ASPNETDBConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\ASPNETDB.MDF;Integrated Security=True;User Instance=True"
  providerName="System.Data.SqlClient" />


我应该使用服务器的显式IP地址指定连接字符串还是保留。\SQLEXPRESS命令?如果我需要指定用户名和密码,那么我应该使用什么?我以前从未使用过本地SQLExpress数据库,所以我不知道(这一点很明显)。

通常,您需要使用带有特定IP地址、用户名、密码等的连接字符串

你和谁一起主持?通常,.net主机提供程序将为您提供用于连接数据库的连接字符串。您可以复制并粘贴到web.config。此外,当他们为您创建数据库时,通常会指定用户名、密码和数据库名称,因此您必须更改所有这些


这是VisualStudio的Web.config.debug和Web.config.Release以及xml转换。这样,当您发布到站点时,连接字符串将自动从本地连接字符串更改为在生产环境中使用的连接字符串。

< P>如果您不能使用SQL Express,那么可以考虑嵌入的SQL引擎:

我从未使用过SQLCE,但SQLLite只是一个DLL


显然,您不具备成熟数据库引擎的所有功能,但它们仍然非常强大。

您可能需要阅读本文

DEAFULT.net将应用程序服务安装到“AttachDBFilename=| DataDirectory | aspnetdb.mdf”

然后创建自己的数据库,现在使用两个数据库来存储可能只在一个数据库中的数据

如果您阅读了上面的文章,它将向您展示如何将所有内容合并到一个DB中

当您部署到托管服务器时(它对您可以使用的数据库数量有限制,或者甚至没有运行sqlexpress),DB都不会连接。因此,您需要为web.config文件(通常是Debug和Release)创建一个“转换文件”,它基本上是另一个web.config,但只包含配置行,当站点部署到宿主服务器时,您需要更改这些行


因此,主机提供商将为您提供服务器上连接字符串所需的详细信息。然后将其放入“web.config.release”文件中,当您编译并发布站点的“release”版本时,您将获得一个web.config文件,其中包含正确的连接字符串数据。

在您的web主机上,数据库安装在何处?它是否安装了SQL Express?数据库位于App_数据目录中。web主机状态为“支持SQL Management Express”,但从控制面板上看不到任何配置方法(也不知道是否需要配置)。我正在等待他们的回复,但我想知道这是否是一个简单的连接字符串问题。事实证明,托管提供商不支持SQL Server Express,因此我需要创建一个标准SQL数据库。谢谢你的帮助。非常好的选择,谢谢。我没有做任何奇妙的事情,所以SQLLite应该是一个漂亮的解决方案。干杯