我正在编写一个 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/