另外,可以先在你的线程式的Execute当中前后分别加上"CoInitializeEx(nil, COINIT_MULTITHREADED);"和"CoUninitialize;" 例如: procedure TActionThread.Execute; begin CoInitializeEx(nil, COINIT_MULTITHREADED); try while Not Terminated do begin //DoSomething end; finally CoUninitialize; end; end;
2. 连接数据库时马上就create 3个adoquery 和3个adocommand,以后所有的操作都用这6个东西完成,不再程序中在另外create ado了。当然,用完还是会close。
效果差不多
或者用触发器来实现(但这个比较费资源)
附:如果没有新数据插入也内存越来越高,考虑是否有内存未释放
例如:
procedure TActionThread.Execute;
begin
CoInitializeEx(nil, COINIT_MULTITHREADED);
try
while Not Terminated do begin
//DoSomething
end;
finally
CoUninitialize;
end;
end;
sql好像没有连其他数据库的命令吧? 所以只能用程序做啦。
其次,MSSQLServer支持Linker Server.