I have to copy some information from an old dBase database using ADOConnection and AdoTable. I am able to open all tables but I get this exception
Data provider or other service returned an E_FAIL status
while trying to open a big table 1.01 GB (1 093 588 624 bytes). I note that the performance is very bad. this is the connection string
ConnectionString:=Format('Provider=Microsoft.JET.OLEDB.4.0;Data Source=%s;Extended Properties=dBase IV;',[path])
I believe that the default setting for CursorLocation
with TADOConnection is clUseClient
. With that setting, the entire data set is read into memory by the client. That would explain the slowness and may explain the error.
Try changing it to clUseServer
.
ADOConn.CursorLocation := clUseServer;
Or you can change it in the object inspector properties.