一个asp.net网站的开发。
开发工具:vs 2008.net ,sql2000数据库。
在。net平台上测试一切正常。
已经发布网站,放在IIS5.1上。第一个Login.aspx(登录注册页)正常显示。
但是注册或登录时出现错误:
***************************************问题:
  应用程序中的服务器错误。 
--------------------------------------------------------------------------------在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接) 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.SqlClient.SqlException: 在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接)源错误: 执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。  堆栈跟踪: [SqlException (0x80131904): 在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接)]
   System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +821651
   System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +186
   System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, SqlConnection owningObject) +759074
   System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, Int64 timerExpire, SqlConnection owningObject) +114
   System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(String host, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, Int64 timerStart) +381
   System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance) +181
   System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance) +173
   System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection) +357
   System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options) +30
   System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject) +424
   System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject) +66
   System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) +494
   System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +82
   System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +105
   System.Data.SqlClient.SqlConnection.Open() +111
   MyBookShop.DataAccessLayer.Database.Open() +109
   MyBookShop.DataAccessLayer.Database.GetDataSet(String SqlString) +14
   MyBookShop.DataAccessLayer.Database.GetDataRow(String SqlString) +6
   MyBookShop.BusinessLogicLayer.User.HasUser(String loginName) +114
   MyBookShop.Web.Register.ButtonCheck_Click(Object sender, EventArgs e) +24
   System.Web.UI.WebControls.Button.OnClick(EventArgs e) +105
   System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +107
   System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +7
   System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11
   System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1746 
--------------------------------------------------------------------------------版本信息: Microsoft .NET Framework 版本:2.0.50727.1873; ASP.NET 版本:2.0.50727.1433 
********************************************************************
小弟困惑之一:我并没有用sql2005怎么会出错呢 ?
        之二:参看网上的方法:我把sql2005的 配置管理器已近设置了可以远程登录,还是错误依旧。
求懂技术的四海朋友帮忙分析,先感谢大家了!!

解决方案 »

  1.   

    sql远程登录配置的问题    网上很多方法   像1433端口啊什么的   
      

  2.   

    foren_whb 能不能说的明白点啊 谢谢!
      

  3.   

    我的sql2000在本机上。 怎么没人回了  大家想想办法 。网上的办法我试过了,不行才向大家求助的。waiting
      

  4.   

    那你用的是sql2000还是2005呢?
      

  5.   

    解决方法:开始-> 所有程序-> Ms   Sql   Server-> 配置工具-> sql   server外围应用配置器-> 服务和连接的外围应用配置器-> 打开MSSQLSERVER节点下的Database   Engine   节点,先择 "远程连接 ",接下建议选择 "同时使用TCP/IP和named   pipes ",确定后,重启数据库服务试试. 
      

  6.   

    在配置管理器中?sql 2005数据库配置管理器中 我允许了 并且显示在运行
      

  7.   

    这个问题没有碰到过,但个人认为应该是,iis配置里面有问题,你看一看里面有没有什么默认配置
    看看属性里面里面那个asp.net选项里面的编辑配置
      

  8.   

    T_long 的想法不错 , 我也怀疑是属性里面里面那个asp.net选项里面的编辑配置有问题,不过不知道该怎么配
      

  9.   

    关于连接不上sql server的 百度下很多文章:http://www.jb51.net/article/18774.htm   最好就在本机测试下 用IP连接  sa登陆  如果能连接上说明你的程序问题,如果没连接上配置问题
      

  10.   

    server=./WWW-A0F183D0BF6;database=MyBookShop;integrated security=true 这个是我的连接字符串
      

  11.   

    发布前 我在。net2008 中运行了可以
    数据库用的是sql2000
      

  12.   

    改成这种
    string cString = "Data Source=server;Initial Catalog=db;User ID=test;Password=test;"; 
      

  13.   


    连接字符串中"integrated  security=SSPI" 表示采用的安全认证。因为用vs2005运行程序的时候,用户的身份是administrator,在部署到iis中运行程序的用户身份为network service,用户采用该安全认证,所以以network service运行时,就没有足够的权限打开数据库。呵呵,去掉integrated  security=SSPI,正常了。
      

  14.   

    Server=./SQLEXPRESS 然后先给sa权限运行一下 如果行 可以新建一个用户专门给这个网站登录 配好权限 如果是虚拟主机提供商的 可以用提供商给的用户 用integrated  security=SSPI这种的话 就像27楼说的 个人观点 仅供参考
      

  15.   

    有的数据库服务器服务线上提供商因为安全原因,并不支持远程连接,如果你直接用SQL management studio去连接这个数据库,连不上就是这个问题了
      

  16.   

    Ray_Yang你好,我的数据库没有设置密码登录名 User ID=;Password= 怎么写啊?
      

  17.   

    不会的啊 sql server 都有帐号密码的啊
    sa是肯定有的 如果没改密码应该也是sa把
    你打开看看,安全性的--登录名里
      

  18.   

    名称是:sa ,我把密码设置为test了。但是ID=test怎么设的?谢谢
      

  19.   

    什么意思
    用户名是sa?
    那User ID=sa,Password=text
      

  20.   

    刚才我试过了 把User ID=sa,Password=test 。提示
    用户 'sa' 登录失败。原因: 未与信任 SQL Server 连接相关联
      

  21.   

    你的  
     SQL Server  安全身份验证设置为“仅 Windows”  ?
      

  22.   

    csdn什么时候能像QQ一样方便………………
      

  23.   

    对啊 我为了省劲 就设了Windows集成认证
      

  24.   

    464479460我的qq T_long加一下我
      

  25.   

    寂寞了··· 大家有路过的看看啊 <add key="DBConnectionString" value="Data Source=WWW-A0F183D0BF6;Initial Catalog=MyBookShop;User ID=sa;Password=test;"/>web。config中的一部分
      

  26.   

    对啊 你用IIS 没有权限用Windows 验证
    所以让你改成用ID和password方式
    但是你设为只Windows
    那你改一下把 要不然让IIS有权限 要不然改为混合
      

  27.   

    Ray_Yang恕小弟愚笨啊 能否说的再清楚一点啊
      

  28.   

    我是说 
    你开始时候呢,使用的integrated security=SSPI 连接数据库 ,但是项目你放在IIS下了 IIS的账户没有这个权限来使用Windows 集成访问。
    所以让你改为使用 用户名 密码。 但是你数据库, 只允许了Windows 集成访问。
    所以你 要么 给IIS账户加到administrators 组里, 要么把数据库改为混合模式。
    ----------
    我是这么觉得 不知道是不是这个问题
      

  29.   

    http://support.microsoft.com/default.aspx?scid=kb;zh-cn;316989#
      

  30.   

    刚才我在目录下把IIS用户添加到了administrators 组里了,不知道操作对不对,Ray_yang 能够用qq交流一下