D dssn Unregistered / Unconfirmed GUEST, unregistred user! 1999-12-05 #1 如何在多线程中访问用访问同一个TDatabase? 注意,必须动态创建query,访问一个已经打开的database
K kangxy Unregistered / Unconfirmed GUEST, unregistred user! 1999-12-05 #2 使用Tsession控件,和编写一般的数据库应用程序没有太大的区别. 只是在调用Delphi的数据敏感组件时,必须使用Synchronize方法. 李维的<Delphi3.0从入门到精通>中有一个例子.
使用Tsession控件,和编写一般的数据库应用程序没有太大的区别. 只是在调用Delphi的数据敏感组件时,必须使用Synchronize方法. 李维的<Delphi3.0从入门到精通>中有一个例子.
F Fencer Unregistered / Unconfirmed GUEST, unregistred user! 1999-12-05 #3 使用TSession一定注意查询后再和DataSource相连。
D Dick Unregistered / Unconfirmed GUEST, unregistred user! 1999-12-06 #7 看李维的例子,讲得很清楚。 另外,我写过一个多线程插入的例子,虽然用sql direct构件,但是和用delphi 标准构件完全一样,线程中数据库操作包括BLOB字段,感觉多线程确实比较爽, 如果你有用,我可以给你。
看李维的例子,讲得很清楚。 另外,我写过一个多线程插入的例子,虽然用sql direct构件,但是和用delphi 标准构件完全一样,线程中数据库操作包括BLOB字段,感觉多线程确实比较爽, 如果你有用,我可以给你。
W windforce Unregistered / Unconfirmed GUEST, unregistred user! 1999-12-08 #8 动态创建n个thread,每个thread配一个session和database,将database的 session name属性设为新创建的session。通过windows的消息机制完成线程 之间的互斥。
动态创建n个thread,每个thread配一个session和database,将database的 session name属性设为新创建的session。通过windows的消息机制完成线程 之间的互斥。
D dssn Unregistered / Unconfirmed GUEST, unregistred user! 1999-12-08 #9 这个问题的答案我找到了 首先,原来的错误原因是TSession,TDatabase不是ThreadSafe的 其次,为了达到比较好的性能,需要使用专门的数据库服务线程开多个 session连数据库,充分发挥Oracle数据库服务器的潜力。 具体需要查询时查询所在线程通过windows消息与适当的数据库的线程 同步(可不是主所在线程窗口,否则数据库操作期间,主界面就动不了 了)。在由单独的线程控制数据库联接的数目,以保证系统资源有效利 用。 这几天一直在实现这个东东,今天才基本搞定。谢谢大家。
这个问题的答案我找到了 首先,原来的错误原因是TSession,TDatabase不是ThreadSafe的 其次,为了达到比较好的性能,需要使用专门的数据库服务线程开多个 session连数据库,充分发挥Oracle数据库服务器的潜力。 具体需要查询时查询所在线程通过windows消息与适当的数据库的线程 同步(可不是主所在线程窗口,否则数据库操作期间,主界面就动不了 了)。在由单独的线程控制数据库联接的数目,以保证系统资源有效利 用。 这几天一直在实现这个东东,今天才基本搞定。谢谢大家。