/*十有三博客*/
  • 首页
  • 关于本站
  • 网站地图
  • RSS订阅

HttpException (0x80004005): 无法连接到 SQL Server 会话数据库。

2015-01-18 十有三 0 浏览:1万+ .NET技术 ASP.NET

ASP.NET 项目运行时出现错误提示:[HttpException (0x80004005): 无法连接到 SQL Server 会话数据库。] ,后排查问题发现是由于项目的Session模式是使用SQLServer,(即Session信息保存在SQL Server的数据库中)但是与数据库的SQL连接字符串设置错误才导致引发这个问题。

解决方法就是修改正确的SQL连接字符串,原web.config配置文件的代码如下:

<sessionState mode="SQLServer" sqlConnectionString ="data source=.; user id=sa; password=123" timeout="20" />

根据自己的配置修改正确的sqlConnectionString ,再次运行项目就可以正常使用了。

排查这个错误的时候花费了相当多时间,因为一开始并没有认真的查看堆栈跟踪,只看到前面的SQL Server 建立连接出错的信息,一般这种信息都是SQL数据库的连接字符串配置错,但是核对了半天网站的数据库连接都是正确的。最后才在堆栈跟踪中看到是Session使用 mode="SQLServer",是会话数据库配置错误的问题。

所以有时候出现数据库连接错误,但是配置文件的设置又正确,这个时候就需要查看是否有其他的插件或者功能额外的使用了数据库,另外这里附上我当时页面上报错的信息:

“/WebSite”应用程序中的服务器错误。

在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: SQL Network Interfaces, error: 26 - 定位指定的服务器/实例时出错)

说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: System.Data.SqlClient.SqlException: 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: SQL Network Interfaces, error: 26 - 定位指定的服务器/实例时出错)

源错误: 

执行当前 Web 请求期间生成了未经处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。

堆栈跟踪: 

.....................这里我省略了无用的信息,下面的才是相关重要的堆栈信息:

[HttpException (0x80004005): 无法连接到 SQL Server 会话数据库。]
  System.Web.SessionState.SqlSessionStateStore.ThrowSqlConnectionException(SqlConnection conn, Exception e) +235
   System.Web.SessionState.SqlStateConnection..ctor(SqlPartitionInfo sqlPartitionInfo, TimeSpan retryInterval) +944
   System.Web.SessionState.SqlSessionStateStore.GetConnection(String id, Boolean& usePooling) +231
   System.Web.SessionState.SqlSessionStateStore.DoGet(HttpContext context, String id, Boolean getExclusive, Boolean& locked, TimeSpan& lockAge, Object& lockId, SessionStateActions& actionFlags) +109
   System.Web.SessionState.SqlSessionStateStore.GetItemExclusive(HttpContext context, String id, Boolean& locked, TimeSpan& lockAge, Object& lockId, SessionStateActions& actionFlags) +48
   System.Web.SessionState.SessionStateModule.GetSessionStateItem() +111
   System.Web.SessionState.SessionStateModule.BeginAcquireState(Object source, EventArgs e, AsyncCallback cb, Object extraData) +778
   System.Web.AsyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +285
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155


作者:十有三

出处:https://shiyousan.com/post/635571629994486465

版权声明:本文采用知识共享许可协议:署名-相同方式共享 4.0 国际(CC BY-SA 4.0)。欢迎转载本文,转载请声明出处或保留此段声明。


  • 上一篇: ASP.NET中Page设置ValidateRequest="false" 无效
  • 下一篇: 火狐浏览器在URL中不兼容反斜杠"\"作为路径分隔

相关文章
  • 解决ASP.NET“从客户端***中检测到有潜在危险的 Request.Form值。”错误
  • 解决"此请求已被阻止,因为当用在 GET 请求中时,会将敏感信息透漏给第三方网站"的问题
  • C# List<string>如何根据分隔符合并成字符串?
  • 托管调试助手 "DateTimeInvalidLocalFormat":“正在将 UTC DateTime 转换为某种文本
  • ASP.NET中Page设置ValidateRequest="false" 无效
  • ASP.NET MVC实现IExceptionFilter接口编写自定义异常处理过滤器

文章分类

.NET技术 123 数据库 24 Web前端 21 网站建设运维 37 操作系统与应用 66 程序猿日常 11 开发工具 12 其他随笔 13

文章标签

ASP.NET ASP.NET MVC C# CSS HTML IIS Javascript Linux MongoDB MySql SQL SQL Server Visual Studio Windows系统 版本控制系统 插件工具 服务器 搞笑娱乐 好文分享 软件应用 生活知识 手机问题 随笔 网络知识 网站设计优化 网站维护 养生保健 异常处理 硬件设备 游戏攻略

热门文章

  • IIS8如何安装和使用URL重写工具-URL Rewrite
  • 林蛋大与楚中天,朱肚皮与朱月坡
  • 解决IE11安装升级失败和在安装前需要更新的问题
  • Windows Server 2012无法安装 .NET3.5-安装角色或功能失败,找不到源文件
  • VS重构重命名的快捷键

推荐文章

  • 解决向日葵远程控制软件Shift无法多选文本内容和代码的问题
  • 总结IIS中使用ARR一些要注意的地方和经验-例如遇到重写规则无效的情况
  • 取消vs2013解决方案中单击打开项目文件的功能
  • JSON劫持漏洞(详细讲解利用JSON从而进行数据劫持的漏洞攻防策略)
  • 解决asp.net中 jquery ajax调用一般处理程序ashx出现"正在中止线程"异常

友情链接

  • Passingwind的博客
  • 码友网

知识共享许可协议 CC BY-SA 4.0本站作品采用知识共享许可协议:署名-相同方式共享 4.0 国际(CC BY-SA 4.0)。
闽ICP备15003702号
闽公网安备 35020302035102号