Oracle
 sql >> Baza danych >  >> RDS >> Oracle

BDE kontra ADO w Delphi

Nie wiem o Delphi 2007, ale zrobiłem to samo z Delphi 7 i Oracle 8.

Oto rzeczy, które zrobiłem:

  • Ustaw TAdoDataSet.CursorLocation zgodnie z zapytaniem:
    • clUseClient jeśli zapytanie pobiera rekordy dla GUI, a zapytanie jest stosunkowo "proste" - bez grupowania lub sumowania
    • clUseServer jeśli zapytanie ma jakąś agregację (suma, grupowanie, liczenie)
  • Ustaw TAdoDataSet.CursorType zgodnie z zapytaniem:
    • ctForwardOnly dla raportów, w których nie trzeba przewijać zestawu danych - działa tylko z clUseServer
    • ctStatic dla GUI. To jest tylko tryb, który działa z clUseClient
  • Ustaw TAdoDataSet.LockType zgodnie z zapytaniem:
    • ltReadOnly dla każdego zbioru danych, który nie jest używany do edycji (siatki, raporty)
    • ltOptymistyczny gdy rekordy są wysyłane do bazy danych natychmiast po zmianie (np. użytkownik edytujący dane w formularzu)
    • ltBatchOptymistyczny gdy zmienisz dużą liczbę rekordów. Dotyczy to sytuacji, w których pobierasz liczbę rekordów, wykonujesz na nich pewne przetwarzanie, a następnie wysyłasz zbiorczo aktualizacje do bazy danych. Działa to najlepiej w połączeniu z clUseClient i ctStatic.
  • Z mojego doświadczenia wynika, że ​​dostawca Microsoft OLEDB dla Oracle działał lepiej niż dostawca Oracle OleDb. Powinieneś to przetestować.
    Edytuj: Sprawdź komentarz Fabricio o możliwych problemach z blobami.
  • Zastąp TAdoQUEry z TAdoDataSet . TAdoQuery zostało stworzone do konwersji aplikacji z BDE do ADO, ale rekomendacją Borland/Codegear było użycie TAdoDataSet
  • Ponownie sprawdź ciąg połączenia Oracle, aby upewnić się, że nie masz opóźnień w sieci. Jak długo trwa połączenie z Oracle? Jak długo trwa TnsPing?


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Java:wywoływanie procedury składowanej w bazie danych Oracle

  2. Jak połączyć się z serwerem LDAP za pomocą node-oracledb?

  3. TO_DATE() Funkcja w Oracle

  4. Typy danych Oracle

  5. 2 sposoby na usunięcie zduplikowanych wierszy w Oracle