通过BDE的多线程查询数据库,每个线程对应一个TSession,TDatabase,TQuery;
但只能支持10个线程左右,出错的信息为:资源不足,应该是动态创建TSession的时候资料不足;
(每个线程完毕都会释放掉它所创建的组件)
想问一下各位谁做过多线程查询数据库的(100个线程以上),而且查询是并发的而不是要排队的.
谢谢参与讨论!如果不通过BDE,有其他方法也请赐教!(只剩40分了)

解决方案 »

  1.   

    我用ADO也试过这个问题,但是不行,一般到50个左右,数据库就报错误,原因为数据库连接不能超过46个,
    关建是在线程结束时要断开数据库连接,但在线程中好像你free了这个线程,但连接还存在,要过一段时间才会断开连接,可在数据库上看到一个一个的sleep连接,在主线程则一free则连接就断开了。我也发过碟请看:
    http://community.csdn.net/Expert/topic/3863/3863884.xml?temp=.7725794