by nageswaragunupudi » Tue Sep 18, 2007 2:37 am
I am working extensively with large databases on MsSql and Oracle with ADO on high speed LAN and slow speed WAN environments. The question of making browses with large data table is not so easy. Client side cursors ( used by ADORDD) just dont work (Unacceptable long waits till all the data is read from server to the client with very high net work traffic which is highly undesirable). Yes I am talking about tables with around million rows.
On MSSql I use serverside cursors. They work reasonably fine. But we can not use Absolute position and RecordCount. I make the skipper similar to DBF skipper. Use a precalculated count(*) for total records. I make my data reader class behave on the basis whether the cursor is client side or serverside
Oracle is difficult, because Oracle does not provide serverside scrollable cursors. I employ a trick of reading small chunks of rows into different RecordSets and transparently switch between the recordsets giving an illusion of a continous browse. ( I am told SQLRDD of xHarbour.Com works gracefully. Yet I failed to make it work on my Oracle server. The SQLRDD is made with OCI rather than ADO)
Anyway for browsing large tables, none to beat Advantage Server. But most clients insist on oracle or mssql.
But it is only our fraternity who have roots in DBF and clipper still stick to providing browses. Other software do not provide this luxury to the users. Also the present and future is for webbased three tier architecture and detatched recorsets. They present only very small porttions of the total data, with small grids moving page by page rather than the beautiful scrolling in our browses. May be we shd chnage our habits of user interfaces.
NageswaraRao
India
Regards
G. N. Rao.
Hyderabad, India