今天下午,很奇怪的网站突然就打不开了,报错如下:
“/”应用程序中的服务器错误。
用户 'sa' 登录失败。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Data.SqlClient.SqlException: 用户 'sa' 登录失败。
源错误:
执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。
堆栈跟踪:
[SqlException (0x80131904): 用户 'sa' 登录失败。]
System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +735075
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +188
System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +1838
System.Data.SqlClient.SqlInternalConnectionTds.CompleteLogin(Boolean enlistOK) +33
System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance) +628
System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance) +170
System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection) +359
System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options) +28
System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject) +424
System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject) +66
System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) +496
System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +82
System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +105
System.Data.SqlClient.SqlConnection.Open() +111
BlueCrystal.Data.DbHelper.ExecuteDataTable(DbCommand cmd) +67
BlueCrystal.Data.QuerySection`1.ExcuteDataTable(QuerySection`1 query, Boolean all) +383
BlueCrystal.Data.QuerySection`1.ToDataTable() +50
NVTools.NTools.(VelocityContext , String , String , String , String , String ) +1383
NVTools.NTools.SetColumnSeo(Nullable`1 columnType, String SID, VelocityContext context, Boolean isMobile) +1403
NVTools.NTools.SetColumnSeo(Nullable`1 columnType, String SID, VelocityContext context) +23
index.Page_Load(Object sender, EventArgs e) +349
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +15
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +34
System.Web.UI.Control.OnLoad(EventArgs e) +99
NSW.Web.UI.BasePages.OnLoad(EventArgs e) +4
System.Web.UI.Control.LoadRecursive() +47
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1061
版本信息: Microsoft .NET Framework 版本:2.0.50727.42; ASP.NET 版本:2.0.50727.42
解决办法:
1):出现这个问题呢,首先我们打开服务器看本地能不能登录sa数据库,如果本地也登录不上或者报错18456错误的话,请查看下面的方法
http://www.cnblogs.com/yangxiaofei/p/4956792.html
2): 在本地如果可以登录Sa的话,那么就是网站的数据库连接时错误的,数据库的连接代码如下:
<add name="ConnectString_Local" connectionString="server=.;uid=sa;pwd=yisiman@htu.cc;database=zlh_db;"/>
ASP的网站数据库连接一般都在网站根目录的web.config。我碰到这个问题的时候就去看web.config文件,看web.config文件里面有没有这个代码
可是最后找了一番下来还是没有发现 <add name="ConnectString_Local" connectionString="server=.;uid=sa;pwd=yisiman@htu.cc;database=zlh_db;"/>这串代码
我的web.config文件如下:
<?xml version="1.0"?> <configuration> <!--url rewrite--> <configSections> <section name="rewriter" requirePermission="false" type="Intelligencia.UrlRewriter.Configuration.RewriterConfigurationSectionHandler, Intelligencia.UrlRewriter" /> <sectionGroup name="NSW"> <section name="HttpCompress" type="NSW.Web.Module.Configuration" /> </sectionGroup> </configSections> <NSW> <HttpCompress compressionType="GZip"> <IncludedMimeTypes> <add mime="text/html" /> </IncludedMimeTypes> <!--配置不压缩何种类型资源 <ExcludedMimeTypes> <add mime="text/html" /> </ExcludedMimeTypes> 注意:ExcludedMimeTypes及IncludedMimeTypes只需要配置一个就可以,如果像上面那样配置ExcludeMimeTypes的话,则表明除html类型的资源外,其它资源都会被压缩--> <ExcludedPaths> <!--设定不启用压缩的页面路径,下面设定了nocompress目录下的default.aspx页面将不会启用压缩功能,但其它页面则正常启用压缩--> <add path="/Manager/" /> </ExcludedPaths> </HttpCompress> </NSW> <!--end url rewrite--> <appSettings configSource="Config\Appsetting.config"> </appSettings> <connectionStrings configSource="Config\ConnectionString.config"> </connectionStrings> <rewriter file="~/Config/URLReWrite.config" /> <system.web> <httpHandlers> <add verb="*" path="*.html" type="System.Web.StaticFileHandler" /> <add path="*.shtml" verb="*" type="System.Web.UI.PageHandlerFactory" validate="true" /> <add path="*.aspx" verb="*" type="System.Web.UI.PageHandlerFactory" validate="true" /> </httpHandlers> <httpModules> <add name="URLModule" type="NSW.Web.Module.URLModule" /> <add name="HttpCompress" type="NSW.Web.Module.HttpCompress" /> <add type="Intelligencia.UrlRewriter.RewriterHttpModule,Intelligencia.UrlRewriter" name="UrlRewriter" /> </httpModules> <httpRuntime maxRequestLength="2097151" executionTimeout="3600" /> <compilation debug="true"> <assemblies> <add assembly="System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" /> <add assembly="System.Management, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" /> </assemblies> </compilation> <authentication mode="Windows" /> <!-- <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm"> <error statusCode="403" redirect="NoACcess.htm" /> <error statusCode="404" redirect="FileNotFound.htm" /> </customErrors> --> <customErrors mode="Off" defaultRedirect="error.htm?msg=0"> <error statusCode="403" redirect="error.htm?msg=2" /> <error statusCode="404" redirect="notfound.aspx" /> <error statusCode="500" redirect="error.htm?msg=4" /> </customErrors> <sessionState mode="InProc" timeout="300" /> <pages enableViewState="false" validateRequest="false" enableViewStateMac="false"> <controls> <add tagPrefix="CurrentPosition" tagName="CurrentPosition" src="~/Manager/NSWEditor/Common/CurrentPosition.ascx" /> <add tagPrefix="SpanCurrentPosition" tagName="SpanCurrentPosition" src="~/Manager/NSWEditor/Common/SpanCurrentPosition.ascx" /> <add tagPrefix="SelectRelevant" tagName="SelectRelevant" src="~/Manager/NSWEditor/Common/SelectRelevant.ascx" /> <add tagPrefix="radio_control" tagName="radio_control" src="~/Manager/NSWEditor/Common/radio_control.ascx" /> <add tagPrefix="ThumbnailImage" tagName="ThumbnailImage" src="~/Manager/NSWEditor/Common/ThumbnailImage.ascx" /> <add tagPrefix="RelevantColumn" tagName="RelevantColumn" src="~/Manager/NSWEditor/Common/RelevantColumn.ascx" /> <add tagPrefix="RightColumn" tagName="RightColumn" src="~/Manager/NSWEditor/Common/RightColumn.ascx" /> <add tagPrefix="NSW" tagName="UEditor" src="~/Manager/NSWEditor/Common/NSWEditor.ascx" /> <!--*************** 购物车:start ***************--> <!--购物车当前位置--> <add tagPrefix="CartLoc" tagName="CartLoc" src="~/UserControls/Cart/Loc.ascx" /> <!--底部向导--> <add tagPrefix="BottomHelp" tagName="BottomHelp" src="~/UserControls/Product/BottomHelp.ascx" /> <!--*************** 购物车:end ***************--> <!--*************** 前台页面:start ***************--> <!-- <add tagPrefix="ucHeader" tagName="ucHeader" src="~/UserControls/Common/Header.ascx"/> <add tagPrefix="ucFooter" tagName="ucFooter" src="~/UserControls/Common/Footer.ascx"/> --> <add tagPrefix="ucLocL" tagName="ucLocL" src="~/UserControls/Common/LocL.ascx" /> <!--*************** 前台页面:end ***************--> <!--*************** 会员中心:start ***************--> <!--当前位置--> <add tagPrefix="UserLoc" tagName="UserLoc" src="~/UserControls/User/Loc.ascx" /> <!--行为操作--> <add tagPrefix="UserActions" tagName="UserActions" src="~/UserControls/User/Actions.ascx" /> <!--*************** 会员中心:end ***************--> <!--分页控件--> <add assembly="Oran.WebControl.OranPager" namespace="Oran.WebControl" tagPrefix="OranPager" /> <!--OranRegion 地区控件--> <add assembly="OranChinaRegion" namespace="Oran.WebControl" tagPrefix="chinaRegion" /> <!--在线线客服--> <add tagPrefix="Kefu" tagName="Kefu" src="~/UserControls/IM/Kefu.ascx" /> </controls> </pages> <identity impersonate="false" /> <globalization requestEncoding="utf-8" responseEncoding="utf-8" fileEncoding="utf-8" /> <!--<machineKey validation="3DES" validationKey="319B474B1D2B7A87C996B280450BB36506A95AEDF9B51211" decryptionKey="280450BB36319B474C996B506A95AEDF9B51211B1D2B7A87" decryption="3DES"/>--> </system.web> <system.webServer> <handlers> <add name="myurl" path="*.html" verb="*" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" resourceType="Unspecified" preCondition="classicMode,runtimeVersionv2.0,bitness32" /> </handlers> <urlCompression doDynamicCompression="false" /> </system.webServer> </configuration>
通过仔细找我发现我的web.config文件里有 <connectionStrings configSource="Config\ConnectionString.config"> 这一行
接下来我就去找Config目录下的connectionString这个配置文件,打开后还真的发现事这个,代码如下:
<connectionStrings> <add name="ConnectString_Local" connectionString="server=.;uid=sa;pwd=password;database=test_db;"/> </connectionStrings>
从上面代码可以看出来sa的登录密码和连接数据库,这样我们看下pwd密码和我们的密码是不是一样的,不一样修改成你刚才sa的那个密码就可以了,这样子网站打开用户没法登录SA的错误就解决了~!