堆栈跟踪: 
[SqlException (0x80131904): 在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接)]
   System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +117
   System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +346
   System.Data.SqlClient.TdsParser.Connect(Boolean& useFailoverPartner, Boolean& failoverDemandDone, String host, String failoverPartner, String protocol, SqlInternalConnectionTds connHandler, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, SqlConnection owningObject, Boolean aliasLookup) +1093
   System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance) +1083
   System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance) +272
   System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection) +688
   System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options) +82
   System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject) +558
   System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject) +126
   System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) +651
   System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +160
   System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +122
   System.Data.SqlClient.SqlConnection.Open() +229
   System.Web.DataAccess.SqlConnectionHolder.Open(HttpContext context, Boolean revertImpersonate) +114
   System.Web.DataAccess.SqlConnectionHelper.GetConnection(String connectionString, Boolean revertImpersonation) +225
   System.Web.Security.SqlMembershipProvider.GetPasswordWithFormat(String username, Boolean updateLastLoginActivityDate, Int32& status, String& password, Int32& passwordFormat, String& passwordSalt, Int32& failedPasswordAttemptCount, Int32& failedPasswordAnswerAttemptCount, Boolean& isApproved, DateTime& lastLoginDate, DateTime& lastActivityDate) +1105
   System.Web.Security.SqlMembershipProvider.CheckPassword(String username, String password, Boolean updateLastLoginActivityDate, Boolean failIfNotApproved, String& salt, Int32& passwordFormat) +157
   System.Web.Security.SqlMembershipProvider.CheckPassword(String username, String password, Boolean updateLastLoginActivityDate, Boolean failIfNotApproved) +68
   System.Web.Security.SqlMembershipProvider.ValidateUser(String username, String password) +100
   System.Web.UI.WebControls.Login.AuthenticateUsingMembershipProvider(AuthenticateEventArgs e) +99
   System.Web.UI.WebControls.Login.OnAuthenticate(AuthenticateEventArgs e) +113
   System.Web.UI.WebControls.Login.AttemptLogin() +178
   System.Web.UI.WebControls.Login.OnBubbleEvent(Object source, EventArgs e) +134
   System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +56
   System.Web.UI.WebControls.Button.OnCommand(CommandEventArgs e) +107
   System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +178
   System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +31
   System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +32
   System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +72
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3838 

解决方案 »

  1.   

    刚才我学生在调试的时候也出现了这个问题,后来是连接字符串写错了。中间有个";"号少写了。我看了你的,应该正确。
    "server=192.168.0.85;database=DBName;User Id=sa;pwd=sa;"
    改成这样试试,不像你那么写。
      

  2.   

    <appSettings>
     <!--   <add key="bbsSevice" value="Server=ICT_XJ\SQLEXPRESS;Uid=sa;Pwd=xiejun;Database=BBSAjax;Connect Timeout=60"></add>-->
         <add key="bbsSevice" value="BBSAJAX"/>
      </appSettings>
    <connectionStrings>
      <remove name="LocalSqlServer" />
      <add name="LocalSqlServer" connectionString="Data Source=ICT_XJ\SQLEXPRESS;Initial Catalog=BBSAJAX;Integrated Security=True"
       providerName="System.Data.SqlClient" />
     </connectionStrings><!--
    以下信息是判断用户和角色保存的数据库
            -->
        <membership defaultProvider="SqlProvider">
          <providers>
            <add connectionStringName="LocalSqlServer" passwordFormat="Hashed"
              applicationName="bbsSevice" name="SqlProvider" type="System.Web.Security.SqlMembershipProvider" />
          </providers>
        </membership>
        <roleManager  defaultProvider="SqlProvider" enabled="true">
        <providers>
          <add connectionStringName="LocalSqlServer" applicationName="bbsSevice"
            name="SqlProvider" type="System.Web.Security.SqlRoleProvider" />
        </providers>
      </roleManager>
    </system.web>
    <location path="Register.aspx">
    <system.web>
    <authorization>
    <allow users="*"/>
    </authorization>
    问题终于解决:问题出在,在用aspnet_regsql自动生成用户数据表前,不能用“附加导入需要使用的数据库”,而是重新新建一个数据库。只有当这一步不存在问题,然后再配置WEB.config文件。