delphi - Delphi的TADOConnection线程安全吗?

标签 delphi thread-safety ado delphi-7 adoconnection

我正在编写一个 Delphi 7 应用程序,它需要同时从许多不同的线程访问同一个 SQL Server 数据库。

我可以使用单个共享 TADOConnection,还是每个线程都必须创建自己的连接?

最佳答案

Blorgbeard,您必须创建、初始化并打开一个单独的 每个线程的 TDoconnection 实例。

ADO 是一种基于 COM 的技术。它使用单元线程对象,不要忘记调用 CoInitialize(nil)。

procedure TMyThread.Execute;
begin
   CoInitialize(nil);
   try
     try
       // create a connection here
     except
     end;
   finally
     CoUnInitialize;
   end;
end;

关于delphi - Delphi的TADOConnection线程安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1241844/

相关文章:

c# - 如何指示 DbConnection.GetSchema 返回其值的顺序?

sql - 如何 SQL 使用 VBScript(或 VB6)从字节/整数数组插入原始/二进制字段值?

delphi - 在Delphi XE5中使用FileGetSymLinkTarget不会返回它指向的网络地址

java - 如何确保每个线程工作在不同的进程对象上以避免线程安全问题?

delphi - 如何在 TMetaFileCanvas 上透明地绘制 PNG

c# - 从后台线程创建 Windows 窗体

c++ - 使对 unsigned char 线程安全(原子)的访问

c# - 如何给SqlCommand 添加参数?

delphi - 随机化多个字符串列表

java - 使应用程序从MySQL数据库检索数据