none
WCF Server和数据库连接的问题 RRS feed

  • 问题

  • 这个问题问在这里可能不合适,不过实在没办法了,就看有没有人碰到过类似的问题吧

    Console托管的Wcf server, 用DB2 Data Provider(IBM.Data.DB2.dll) 连接数据库。

    本来一直工作的都不错,最近有多台客户端一直开着,每10秒钟自动发一次检索请求(一个日志监视画面,日志表里的数据量比较大,10万条左右),这样一段时间之后,突然间就再也和DB2连不上了,任何DB操作都发生下面的异常

     

     

    CLI0106E Connection is closed. SQLSTATE = 08003

    重启服务器后恢复正常。运行了一天之后又发生了一次.

     

    不知道是否有人碰到过类似的问题,若能指点一二感激不尽

     

     

    2010年11月26日 3:29

答案

  • 不错,据说是多线程的时候可能发生的问题。FixPack6a中应该已经改好了。

    这个帖子我就关了,谢谢各位

    • 已标记为答案 cs.liwei 2010年12月9日 9:00
    2010年12月8日 9:37

全部回复

  • 考虑一下几个方面吧

    1。数据库是否有死锁,读写死锁

    2。是否有内存泄露,数据库连接没关闭。

    3。数据库服务是否正常,是否数据文件过大。

     


    Frank Xu Lei--谦卑若愚,好学若饥
    专注于.NET平台下分布式应用系统开发和企业应用系统集成
    Focus on Distributed Applications Development and EAI based on .NET
     

    老徐的网站】:http://www.frankxulei.com/

    微软WCF中文技术论坛
    微软WCF英文技术论坛

    Windows Azure中文技术论坛

    2010年11月26日 5:26
    版主
  • 谢谢回复。不像是死锁,内存,数据库本身也正常

    到现在也不明白再现条件。测试的时候即使故意对服务器长时间发起大量请求也不再现,等你觉得没事儿了,不知道啥时候它又蹦出来了

     

    现在唯一发现可能有关的只有DB2的一个已知bug,但还没有任何确切证据

    http://www-01.ibm.com/support/docview.wss?uid=swg1IC62125

    2010年11月30日 2:18
  • 你好,检查一下wcf配置文件中的通道的接收最大数,看是否超过设置。

    2010年12月3日 12:35
  • 你好

    应该不是wcf的问题。

    打了DB2V9.5的FP6a补丁,至今没有再现。暂时可以认为是这个原因

    2010年12月6日 6:16
  • 可能是传说中的DB2并发死锁


    你随时可以开始!
    2010年12月7日 7:12
    版主
  • 不错,据说是多线程的时候可能发生的问题。FixPack6a中应该已经改好了。

    这个帖子我就关了,谢谢各位

    • 已标记为答案 cs.liwei 2010年12月9日 9:00
    2010年12月8日 9:37