Oracle
 sql >> база данни >  >> RDS >> Oracle

BDE срещу ADO в Delphi

Не знам за Delphi 2007, но направих същото с Delphi 7 и Oracle 8.

Ето неща, които направих:

  • Задайте TAdoDataSet.CursorLocation според заявка:
    • clUseClient ако заявката извлича записи за GUI и заявката е относително "проста" - без групиране или сума
    • clUseServer ако заявката има някакъв вид агрегиране (сума, групиране, броене)
  • Задайте TAdoDataSet.CursorType според заявка:
    • ctForwardOnly за отчети, при които не е необходимо да превъртате назад през набора от данни - работи само с clUseServer
    • ctStatic за GUI. Това е единственият режим, който работи с clUseClient
  • Задайте TAdoDataSet.LockType според заявка:
    • ltСамо за четене за всеки набор от данни, който не се използва за редактиране (решетки, отчети)
    • Оптимистично когато записите се публикуват в базата данни непосредствено след промяната (напр. потребителски редактиращи данни във формуляра)
    • ltBatchOptimistic когато промените голям брой записи. Това е за ситуации, в които извличате брой записи, след това извършвате някаква обработка върху тях и след това изпращате актуализации към базата данни в пакет. Това работи най-добре в комбинация с clUseClient и ctStatic.
  • Според моя опит, доставчикът на Microsoft OLEDB за Oracle работи по-добре от доставчика на Oracle OleDb. Трябва да тествате това.
    Редактиране: Проверете коментара на Фабрицио за възможни проблеми с петна.
  • Заменете TAdoQUery сTAdoDataSet . TAdoQuery е създаден за конвертиране на приложения от BDE в ADO, но препоръката на Borland/Codegear беше да се използва TAdoDataSet
  • Проверете отново низа за връзка на Oracle, за да сте сигурни, че нямате мрежово забавяне. Колко време продължава да се свържете с Oracle? Колко време е 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. ORA-20001 в R12 Съберете статистически данни за схемата на 11g(FND_HISTOGRAM_COLS)

  2. Отрязване на таблица в съхранена процедура

  3. Как да върнете списък с поддържани езици в Oracle

  4. Изисква ли се ODP.NET за Oracle 11g Client?

  5. Забавност на подзаявката на Oracle