DELPHI数据库连接池 1,这些日子用JAVA来做开发,经常使用APPSERVER提供的连接池,在DLEPHI中如何使用这个呢?一个DATAMOUDLE是不是提供这个呢?2,一个多线程程序中,使用同一个DATAMOUDLE里的同一个ADOCONNECTION,怎么实现连接池呢?会有问题? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 多个线程之间肯定不能使用同一个DATAMOUDLE 在delphi中要使用多线程,所有的数据控件都要new出来。不然会完蛋的。 Delphi的数据库连接池要自己建。Delphi的三层线程连接也要自己建。 1,我写的是SOCKET SERVER,阻塞方式,对每个连接新开一个THREAD来处理;如果CLIENT长时间不操作,将关闭这个SOCKET,THREAD也将结束。2,每个THREAD都需要自己的CONNECTION,所以,在THREAD里需要动态的CREATE一个ADOCONNECTION来进行处理,然而用户连接如果很频繁的话,对数据库的压力会比较大,所以考虑使用连接池来处理。3,这个连接池考虑使用TTHREADLIST来处理,重载CREATE方法,加入池中的连接数和最大连接数;在创建的时候就取得连接,采用ADOCONNECTION的KEEPCONNECTION方式;增加两个方法FUNCTION GETCONN(VAR I:INTEGER):TADOCONNECTION;从连接池中得到一个连接,并取得标记号;PROCEDURE REMOVECONN(I);把这个连接归还到池中; 对,应该用线程缓冲池,就像RDM三层缓冲池一样 多个线程查询数据库要使用多个DATAMOUDLE,这样才安全和高效 demo里midas目录下好像有例子,不知道是不是你要的? 两颗红星来问的问题。 不懂! STUDY 对cxGrid的极限发挥。在线 请帮忙:将一段VC程序翻译成Delphi的 初手问题:动态数组的定义 请问如何判断一个表是否存在 DCOM客户端连接服务器为什么会出现 Interface not supported 的错误? treeview的问题 installshield professional6.22安装时的password?????????? 求教关于fastreport 打印 delphi小问题,请朋友帮一下忙 注册表问题,绝对给分!! WinSight32里面的字体实在是太难看,有没有办法改字体? 如何让treeview具有check的功能!
Delphi的三层线程连接也要自己建。
2,每个THREAD都需要自己的CONNECTION,所以,在THREAD里需要动态的CREATE一个ADOCONNECTION来进行处理,然而用户连接如果很频繁的话,对数据库的压力会比较大,所以考虑使用连接池来处理。
3,这个连接池考虑使用TTHREADLIST来处理,重载CREATE方法,加入池中的连接数和最大连接数;在创建的时候就取得连接,采用ADOCONNECTION的KEEPCONNECTION方式;增加两个方法
FUNCTION GETCONN(VAR I:INTEGER):TADOCONNECTION;
从连接池中得到一个连接,并取得标记号;
PROCEDURE REMOVECONN(I);
把这个连接归还到池中;