sql >> Database teknologi >  >> RDS >> Oracle

BDE vs ADO i Delphi

Jeg ved ikke om Delphi 2007, men jeg gjorde det samme med Delphi 7 og Oracle 8.

Her er ting, jeg gjorde:

  • Indstil TAdoDataSet.CursorLocation ifølge forespørgsel:
    • clUseClient hvis forespørgslen henter poster for GUI, og forespørgslen er relativt "simpel" - ingen gruppering eller sum
    • clUseServer hvis forespørgslen har en form for aggregering (sum, gruppering, optælling)
  • Indstil TAdoDataSet.CursorType ifølge forespørgsel:
    • ctForwardOnly for rapporter, hvor du ikke behøver at rulle tilbage gennem datasættet - virker kun med clUseServer
    • ctStatic til GUI. Dette er kun tilstand, der virker med clUseClient
  • Indstil TAdoDataSet.LockType ifølge forespørgsel:
    • ltReadOnly for hvert datasæt, der ikke bruges til redigering (gitre, rapporter)
    • ltoptimistisk når poster sendes til databasen umiddelbart efter ændring (f.eks. brugerredigering af data på formular)
    • ltBatchOptimistic når du ændrer et stort antal poster. Dette er til situationer, hvor du henter antallet af poster, derefter laver noget behandling på dem og derefter sender opdateringer til databasen i batch. Dette fungerer bedst kombineret med clUseClient og ctStatic.
  • I min erfaring fungerede Microsoft OLEDB-udbyder til Oracle bedre end Oracle OleDb-udbyder. Det bør du teste.
    Rediger: Tjek Fabricios kommentar om mulige klatproblemer.
  • Erstat TAdoQuery med TAdoDataSet . TAdoQuery blev oprettet til konvertering af apps fra BDE til ADO, men Borland/Codegear anbefaling var at bruge TAdoDataSet
  • Tjek Oracle-forbindelsesstrengen igen for at være sikker på, at du ikke har netværksforsinkelse. Hvor længe varer det at oprette forbindelse til Oracle? Hvor lang er TnsPing?


  1. Hvordan øger man ydeevnen for bulk INSERTs til ODBC-linkede tabeller i Access?

  2. Brug TYPE_NAME() til at få navnet på en datatype i SQL Server

  3. Hvordan kan jeg bestemme installerede SQL Server-instanser og deres versioner?

  4. MySQL FEJL 1290 (HY000) --secure-file-priv mulighed