Local Server - (ADS) - Server Side Cursor Task Time (seconds) Open ADO Connection 0.078 0.015 0.063 Open ADO RecordSet 0.015 0.016 0.015 Insert Records 4.891 3.703 4.078 Remote Server (ADS) - Server Side Cursor Task Time Open ADO Connection 0.062 0.016 0.047 Open ADO RecordSet 0.000 0.016 0.015 Insert Records 2.562 2.375 2.391 Internet Server (ADS) - Server Side Cursor Task Time Open ADO Connection 5.34 4.765 27.347 Open ADO RecordSet 0.346 0.282 0.272 Insert Records 113.102 128.245 131.751 Internet Server (ADS) - Client Side Cursor Task Time Open ADO Connection 4.731 Open ADO RecordSet 130.752 Insert Records 0.574 Remote Server (MSSQL) - Client Side Cursor Task Time Open ADO Connection 0.015 0.094 0.015 Open ADO RecordSet 0.266 0.266 0.281 Insert Records 0.828 0.813 0.829 Internet Server (MSSQL) - Client Side Cursor Task Time Open ADO Connection 0.186 0.267 0.333 Open ADO RecordSet 16.633 16.732 16.558 Insert Records 0.607 0.778 0.603>>Here is the VB code that takes 1ms to open (Select * From UPDatDic) and display all 2297 records from the remote cursor which the VFP code below takes 120secs. So I find it hard to believe that there is not some problem with how VFP is handling things.