加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

delphi – 可以在线程中使用TADOConnection

发布时间:2020-12-15 04:26:24 所属栏目:大数据 来源:网络整理
导读:我创建了一个TCPip服务器应用程序.该应用程序有一个全局TADOConnection.此全局ado连接既用于主线程查询,也用于线程进程. 这个可以吗? ADOConnection是否内置了同时处理多个查询的机制? 我的应用程序可以在测试环境中找到(2-5个连接).但是在生产环境中部署
我创建了一个TCPip服务器应用程序.该应用程序有一个全局TADOConnection.此全局ado连接既用于主线程查询,也用于线程进程.

这个可以吗? ADOConnection是否内置了同时处理多个查询的机制?

我的应用程序可以在测试环境中找到(2-5个连接).但是在生产环境中部署时,我发现链接到ADOConnection的TADOQuery被设置为打开时,会出现“无法解释的”访问冲突.

我应该使用ADOConnection还是所有查询都应该自己建立与数据库的连接(这可能需要更多资源)?

解决方法

每个线程都需要有自己的连接对象.以下链接提供了更多信息: http://delphi.about.com/od/kbthread/a/query_threading.htm

文章中的一些要点:

1]在使用任何dbGo对象之前,必须手动调用CoInitialize和CoUninitialize.未能调用CoInitialize将导致“CoInitialize未被调用”异常. CoInitialize方法初始化当前线程上的COM库. ADO是COM.

2]您不能使用主线程(应用程序)中的TADOConnection对象.每个线程都需要创建自己的数据库连接.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读