问题描述
这是登陆不了提示的代码:System.Data.SqlClient.SqlException(0x80131904):用户'sa'登录失败。在System.Data.SqlClient.SqlInternalConnection.OnError(SqlExceptionexception,BooleanbreakConnection)在System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning()在System.Data.SqlClient.TdsParser.Run(RunBehaviorrunBehavior,SqlCommandcmdHandler,SqlDataReaderdataStream,BulkCopySimpleResultSetbulkCopyHandler,TdsParserStateObjectstateObj)在System.Data.SqlClient.SqlInternalConnectionTds.CompleteLogin(BooleanenlistOK)在System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfoserverInfo,StringnewPassword,BooleanignoreSniOpenTimeout,TimeoutTimertimeout,SqlConnectionowningObject)在System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfoserverInfo,StringnewPassword,BooleanredirectedUserInstance,SqlConnectionowningObject,SqlConnectionStringconnectionOptions,TimeoutTimertimeout)在System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnectionowningObject,TimeoutTimertimeout,SqlConnectionStringconnectionOptions,StringnewPassword,BooleanredirectedUserInstance)在System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentityidentity,SqlConnectionStringconnectionOptions,ObjectproviderInfo,StringnewPassword,SqlConnectionowningObject,BooleanredirectedUserInstance)在System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptionsoptions,ObjectpoolGroupProviderInfo,DbConnectionPoolpool,DbConnectionowningConnection)在System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionowningConnection,DbConnectionPoolpool,DbConnectionOptionsoptions)在System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnectionowningObject)在System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnectionowningObject)在System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnectionowningObject)在System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnectionowningConnection)在System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnectionouterConnection,DbConnectionFactoryconnectionFactory)在System.Data.SqlClient.SqlConnection.Open()在GradeMis.Login.userLogin()位置H:GradeMisLogin.aspx.cs:行号41这是Login.aspx.cs的代码:namespaceGradeMis{///<summary>///Login的摘要说明。///</summary>publicclassLogin:System.Web.UI.Page{protectedSystem.Web.UI.WebControls.ButtonButton1;protectedSystem.Web.UI.WebControls.TextBoxtxtPassword;protectedSystem.Web.UI.WebControls.TextBoxtxtUsername;privateSqlConnectionconn=newSqlConnection(System.Configuration.ConfigurationSettings.AppSettings["GradeSys"]);privatevoidPage_Load(objectsender,System.EventArgse){//在此处放置用户代码以初始化页面}#regionprivatevoiduserLogin(){stringsql=string.Empty;stringuser=this.txtUsername.Text;stringpwd=System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(this.txtPassword.Text,"MD5");sql=string.Format("selectusername,password,[group]fromadminwhereusername='{0}'andpassword='{1}'",user,pwd);SqlDataReaderdr;SqlCommandcmd=newSqlCommand(sql,conn);try{conn.Open();//41行dr=cmd.ExecuteReader();if(dr.Read()){Session["username"]=dr["username"].ToString();Session["group"]=dr["group"].ToString();Response.Redirect("Main.aspx");}else{Response.Write("<script>alert('用户名或者密码错误,请重新输入!')</script>");}}catch(Exceptionex){Response.Write(ex);}finally{conn.Close();}}#endregion#regionWeb窗体设计器生成的代码overrideprotectedvoidOnInit(EventArgse){////CODEGEN:该调用是ASP.NETWeb窗体设计器所必需的。//InitializeComponent();base.OnInit(e);}///<summary>///设计器支持所需的方法-不要使用代码编辑器修改///此方法的内容。///</summary>privatevoidInitializeComponent(){this.Button1.Click+=newSystem.EventHandler(this.Button1_Click);this.Load+=newSystem.EventHandler(this.Page_Load);}#endregionprivatevoidButton1_Click(objectsender,System.EventArgse){userLogin();}}}高手帮看看怎么解决,谢谢!
解决方案
解决方案二:
这不是连不上,数据库已经找到了,但估计sa帐号对应的密码不对
解决方案三:
看一下配置文件,可能你配置错了呢??
解决方案四:
还有就是版本不同
解决方案五:
先检查配置文件中GradeSys节点的数据库连接字符串里面数据库的登录账号是否正确,你可通过该账号用客户端管理工具进行登录。如果该账号没有错误,但无法登录,请检查数据库日志,查看数据库错误类型。
解决方案六:
<?xmlversion="1.0"?><configuration><appSettings><addkey="GradeSys"value="packetsize=4096;userid=sa;datasource=.;persistsecurityinfo=True;initialcatalog=GradeSys;password=sa"/></appSettings><system.web><!--动态调试编译设置compilationdebug="true"以启用ASPX调试。否则,将此值设置为false将提高此应用程序的运行时性能。设置compilationdebug="true"以将调试符号(.pdb信息)插入到编译页中。因为这将创建执行起来较慢的大文件,所以应该只在调试时将此值设置为true,而在所有其他时候都设置为false。有关更多信息,请参考有关调试ASP.NET文件的文档。--><compilationdefaultLanguage="c#"debug="true"/><!--自定义错误信息设置customErrorsmode="On"或"RemoteOnly"以启用自定义错误信息,或设置为"Off"以禁用自定义错误信息。为每个要处理的错误添加<error>标记。"On"始终显示自定义(友好的)信息。"Off"始终显示详细的ASP.NET错误信息。"RemoteOnly"只对不在本地Web服务器上运行的用户显示自定义(友好的)信息。出于安全目的,建议使用此设置,以便不向远程客户端显示应用程序的详细信息。--><customErrorsmode="RemoteOnly"/><!--身份验证此节设置应用程序的身份验证策略。可能的模式是"Windows"、"Forms"、"Passport"和"None""None"不执行身份验证。"Windows"IIS根据应用程序的设置执行身份验证(基本、简要或集成Windows)。在IIS中必须禁用匿名访问。"Forms"您为用户提供一个输入凭据的自定义窗体(Web页),然后在您的应用程序中验证他们的身份。用户凭据标记存储在Cookie中。"Passport"身份验证是通过Microsoft的集中身份验证服务执行的,它为成员站点提供单独登录和核心配置文件服务。--><authenticationmode="Forms"><formsloginUrl="login.aspx"/></authentication><!--授权此节设置应用程序的授权策略。可以允许或拒绝不同的用户或角色访问应用程序资源。通配符:"*"表示任何人,"?"表示匿名(未经身份验证的)用户。--><authorization><allowusers="?"/><!--允许所有用户--><!--<allowusers="[逗号分隔的用户列表]"roles="[逗号分隔的角色列表]"/><denyusers="[逗号分隔的用户列表]"roles="[逗号分隔的角色列表]"/>--></authorization><!--应用程序级别跟踪记录应用程序级别跟踪为应用程序中的每一页启用跟踪日志输出。设置traceenabled="true"可以启用应用程序跟踪记录。如果pageOutput="true",则在每一页的底部显示跟踪信息。否则,可以通过浏览Web应用程序根目录中的"trace.axd"页来查看应用程序跟踪日志。--><traceenabled="false"requestLimit="10"pageOutput="false"traceMode="SortByTime"localOnly="true"/><!--会话状态设置默认情况下,ASP.NET使用Cookie来标识哪些请求属于特定的会话。如果Cookie不可用,则可以通过将会话标识符添加到URL来跟踪会话。若要禁用Cookie,请设置sessionStatecookieless="true"。--><sessionStatemode="InProc"stateConnectionString="tcpip=127.0.0.1:42424"sqlConnectionString="datasource=127.0.0.1;Trusted_Connection=yes"cookieless="false"timeout="20"/><!--全球化此节设置应用程序的全球化设置。--><globalizationrequestEncoding="GB2312"responseEncoding="GB2312"fileEncoding="GB2312"/><xhtmlConformancemode="Legacy"/></system.web></configuration>这是配置文件,帮看看吧
解决方案七:
数据库使用windows身份验证登陆的没有设登陆账号密码
解决方案八:
是啊,就是这个:<addkey="GradeSys"value="packetsize=4096;userid=sa;datasource=.;persistsecurityinfo=True;initialcatalog=GradeSys;password=sa"/>如果你的数据库就是在该台计算机上,那么你通过数据量管理工具登录看看,你要确定你的sa账户密码也是sa,看一下是否能登录,不能登录会提示错误类别,如果你密码填错了,修改一下配置文件就行了。
解决方案九:
还有一种可能是sa账户没有开启,内禁用了,如果是这样,请将sa账户恢复开启状态。
解决方案十:
问题解决了,谢谢各位!!
解决方案十一:
别忘记结贴,兄弟。