两种方案:
1、TDatabase的HandleShared设为True。
2、用一个TSession,一个TDatabase,Session的AutoSessionName设为True,TDatabase的SessionName设为当前TSession的Name。其它设置不变。
两个方案可以任选一种。
1、TDatabase的HandleShared设为True。
2、用一个TSession,一个TDatabase,Session的AutoSessionName设为True,TDatabase的SessionName设为当前TSession的Name。其它设置不变。
两个方案可以任选一种。
1、TDatabase的HandleShared设为True。
2、用一个TSession,一个TDatabase,Session的AutoSessionName设为True,TDatabase的SessionName设为当前TSession的Name。其它设置不变。
两个方案可以任选一种。
方案一是每个线程都动态创建一个Session吗?如果是那Session该如何设置?
方案二是多个线程都使用一个Session吗?
2、不是,需要动态创建。但是,由于设置了AutoSessionName,就不用担心出问题了。
chechy(chechy) 的说法是不用多个Session,那位大侠给解释一下?
to chechy(chechy) 您的做法适合与多线程的同步查询吗?TDatabase的HandleShared设为True是起什么作用?
这样的一个坏处是消耗资源太大,同时过多的连接对连接的License也有要求。
我的方案一,资源消耗比较小,但是线程多了,便会造成阻塞。因为和数据库的通道只有一个TDatabase,大家都共享这一个。
好了,足够多了。