Delphi的TADOConnection线程安全吗?

Delphi的TADOConnection线程安全吗?,delphi,thread-safety,ado,delphi-7,adoconnection,Delphi,Thread Safety,Ado,Delphi 7,Adoconnection,我正在编写一个Delphi7应用程序,它需要同时从多个不同的线程访问同一个SQL Server数据库 我可以使用一个共享的TADOConnection吗?或者每个线程都必须创建自己的连接吗?不,不是。ADO是一种基于COM的技术。它使用单元线程对象,因此不能跨线程边界使用ADO连接。每个线程都需要自己的连接。Blorgbeard,您必须创建、初始化并打开单独的 每个线程的TAdoconnection实例 ADO是一种基于COM的技术。它使用公寓线程对象,别忘了调用 共初始化零 procedure

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


我可以使用一个共享的TADOConnection吗?或者每个线程都必须创建自己的连接吗?

不,不是。ADO是一种基于COM的技术。它使用单元线程对象,因此不能跨线程边界使用ADO连接。每个线程都需要自己的连接。

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

ADO是一种基于COM的技术。它使用公寓线程对象,别忘了调用 共初始化零

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