|
|
…..
同样在Delphi的帮助文档《Managing multiple sessions》中给我明确的建议:
……
If you create a single application that uses multiple threads to perform database operations, you must create one additional session for each thread.
…..
喔找到了:ADO控件是线程不安全的,所以如果你的程序是使用多线程访问数据库的话你应该确保每个线程都有自己的会话。
事实上在另外一本书《Delphi 4编程技术内幕》一书在谈到线程安全数据库访问也有相同的建议,不过台湾李维先生在他的《Delphi 5.X ADO/MTS/COM+高级程序设计篇》却说,如果你的程序不是连接多个数据库的话,最好同一数据库使用一个连接,不要使用多个连接。怎么办?谁对谁错?为什么要使用一个连接呢?这主要是从服务器来考虑,因为数据库服务器需要为每个连接分配一定的资源并对其进行维护,连接数越多服务器方所耗的资源就越多,服务器的性能也就越差,所以要尽可能的减少客户端的连接数。好在我的程序是作为服务器程序增加一些连接对数据库服务器的影响不会很大,现在我可以重新设置我的数据库访问结构模型了
数据库: ADOConnection1 ADOConnection2 Table1 Table2 ①ADOQuery1 ②ADOQuery3 ①ADOProcedure1
上一页 [1] [2] [3] [4] [5] [6] [7] 下一页
网友评论:(评论内容只代表网友观点,与本站立场无关!) |
阅读排行
|