I'm writing a Delphi 7 application which needs to access the same SQL Server database from many different threads simultaneously.
Can I use a single shared TADOConnection, or must each thread create their own?
Blorgbeard, you must create, initialize and open a separate TAdoconnection instance for each of your threads.
ADO is a COM-based technology. It uses apartment-threaded objects ,don't forget to call CoInitialize(nil).
procedure TMyThread.Execute;
begin
CoInitialize(nil);
try
try
// create a connection here
except
end;
finally
CoUnInitialize;
end;
end;
No, it is not. ADO is a COM-based technology. It uses apartment-threaded objects, thus you cannot use ADO connections across thread boundaries. Each thread need its own connection.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With