Y
yaxich
Unregistered / Unconfirmed
GUEST, unregistred user!
整个系统用Delphi开发,数据库连接用ADO,连接的数据库可能是Ms SQL Server,也可能是Oracle,所有的数据库连接都在服务层实现,发现如果在服务层所有Rmd公用一个ADOConnection时,如果客户端同时连接的数量比较多的话,会使的获取数据等待时间过长,但又不可能为每个客户端创建一个数据连接,所以想用数据库连接池,没有找到现成的控件,想如下实现,不知是否正确?请高手指导!
在服务层创建一个List,用来管理ADOConnection,如果有新的客户端请求,则查看List中的ADOConnection有没有空闲的,如果有则直接用该空闲ADOConnection,如果没有则在没有超过最大值的情况下创建新的ADOConnection,并连接到数据库供该客户端使用;当客户端请求使用完毕后,就将所应用的ADOConneciton归还到List中去,但并不使该ADOConneciton断开连接。
请高手指点,这样是否可以?
在服务层创建一个List,用来管理ADOConnection,如果有新的客户端请求,则查看List中的ADOConnection有没有空闲的,如果有则直接用该空闲ADOConnection,如果没有则在没有超过最大值的情况下创建新的ADOConnection,并连接到数据库供该客户端使用;当客户端请求使用完毕后,就将所应用的ADOConneciton归还到List中去,但并不使该ADOConneciton断开连接。
请高手指点,这样是否可以?