Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>I don't know about Delphi 2007, but I did same thing with Delphi 7 and Oracle 8.</p> <p>Here are things I did:</p> <ul> <li>Set <strong>TAdoDataSet.CursorLocation</strong> according to query: <ul> <li><strong><em>clUseClient</em></strong> if query fetches records for GUI and query is relatively "simple" - no grouping or sum</li> <li><strong><em>clUseServer</em></strong> if query have some sort of aggregation (sum, grouping, counting)</li> </ul></li> <li>Set <strong>TAdoDataSet.CursorType</strong> according to query: <ul> <li><strong><em>ctForwardOnly</em></strong> for reports where you don't need scroll back through dataset - works only with <em>clUseServer</em></li> <li><strong><em>ctStatic</em></strong> for GUI. This is only mode that works with <em>clUseClient</em></li> </ul></li> <li>Set <strong>TAdoDataSet.LockType</strong> according to query: <ul> <li><strong><em>ltReadOnly</em></strong> for every dataset that is not used for editing (grids, reports)</li> <li><strong><em>ltOptimistic</em></strong> when records are posted to database immediately after change (e.g. user editing data on form)</li> <li><strong><em>ltBatchOptimistic</em></strong> when you change large number of records. This is for situations where you fetch number of records, then do some processing on them and then send updates to database in batch. This works best combined with clUseClient and ctStatic.</li> </ul></li> <li>In my experience, Microsoft OLEDB provider for Oracle worked better than Oracle OleDb provider. You should test that. <br><strong>Edit:</strong> Check Fabricio's comment about possible blob problems. </li> <li>Replace <strong><em>TAdoQUery</em></strong> with <strong><em>TAdoDataSet</em></strong>. TAdoQuery was created for conversion of apps from BDE to ADO, but Borland/Codegear recomendation was to use TAdoDataSet</li> <li>Recheck Oracle connection string to be sure that you do not have network latency. How long it lasts to connect to Oracle? How long is TnsPing?</li> </ul>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload