关关采集器10.5异常停止问题,解决方案

这个问题主要是集中在杰奇2.3的采集问题,之前一直都没有解决,主要表现为采集到一定程序自动停止,起初我认为是杰奇2.3数据库的问题,但是最终还是有位大佬发现这是关关采集器这个版本的数据库连接字符串导致的问题,看来果然有些事情一个人是怎么都想不通的。
报错代码如下:

200|error connecting: Timeout expired.  The timeout period elapsed prior to obtaining a connection from the pool.  This may have occurred because all pooled connections were in use and max pool size was reached.

具体的表现为,刚好采集到五十本左右,采集器就会停止采集抛出异常,其实这个错误比较明显,和mysql的线程没有释放有关,然而我不懂.net,所以折腾过一段时间也没个结果,但是现在,解决方案已经出来了。
感谢博客交流群一位大佬提供的方案。
解决办法是:
数据库连接字符串不能使用默认的,应该为:

Data Source=localhost;Database=yanshi;User ID=root;Password=root;port=3306;charset=gbk;Pooling=Ture

关键的代码就是这里:

Pooling=Ture

在最后加上这句话的时候,问题基本解决。

发表评论
加载中...
    1. 不吃土豆   2018-09-30 01:29

      我用关关10.5采集的列表,不知道为什么 我看那个采集状态 是在获取小说列表,但是大概过了10来分钟就显示操作完成。没采集到小说,看日志也是空的。不知道怎么回事

      查看对话
        1. 不暇   2018-09-30 18:26

          配置不正确,就这么简单,看日志就知道了

    2. 索马里海草   2018-09-29 22:52

      这个方案,其实我很早就分享了,弊端就是非爆出非常大的并发,经常性把mysql拖死

      查看对话
        1. 不暇   2018-09-30 18:29

          大部分关关版本都可以把mysql拖死,这其实也算不上弊端。

    3. mayahs   2018-09-05 13:13

      我以前杰奇2.2用关关10.5也报过这个问题,后来反编译了关关,几个sql的地方加上 .close(),还有设置Max Pool Size啥的

      查看对话
        1. 不暇   2018-09-09 20:06

          一开始我想的也是这个问题,但是里面数据库线程一般都是正常关闭了,Max Pool Size治标不治本,现在这个解决思路是正确的

相关文章