[VB6] ADO, UpdateBatch

Pagina: 1
Acties:

  • Sinedia
  • Registratie: Juli 2002
  • Laatst online: 26-07 13:50
Ik heb een heel groot probleem hiero en dat heeft te maken met capaciteit.
Ik lees een bestand in van +/- 40 Meg (platte tekst) en plaats in de database met ADO.

Ik gebruik hiervoor de UpdateBatch method van ADO en plaats op deze manier 40 regels / records per UpdateBatch in de database. (In totaal hebben we het over zo'n 350.000 regels).

Het probleem is dus dat ik hiervoor gigantisch veel CPU kracht voor nodig heb. De database kan het bijna niet trekken (de database is trouwens een Oracle 8i database).

Mijn vraag is nu. Hoe werkt zo'n UpdateBatch precies? MSDN kan mij namelijk in zijn geheel niet vertellen wat ik moet weten. Ik moet namelijk weten of een UpdateBatch deze 1000 records allemaal doorstuurt en dan commit, deze 1000 records doorsturt en helemaal niet commit of dat deze ze alle 1000 doorstuurt en dan ook 1000 keer commit (wat hat hoge CPU gebruik zou verklaren).
Ik moet een zo'n goedkoop mogelijke manier vinden om deze informatie op de database te verwerken. (Het probleem ligt in de database, maar komt waarschijnlijk door de manier van doorsturen. Andere even zware applicaties kunnen dit namelijk zonder zo'n hoog CPU gebruik).

Please help me...

Verwijderd

Het probleem is dat de werking van veel ADO functionaliteit afhankelijk is van de DataProvider, wat een ODBC of OLEDB driver is. Het jammere is dat, vanwege de concurrentie tussen Microsoft en Oracle de kwaliteit van de Oracle ODBC drivers die Microsoft gepubliceert heeft erg slecht is. Ik weet niet of Oracle zelf betere ODBC divers of een OLEDB provider heeft gemaakt, dus misschien moet je dat eens onderzoeken.

Verder kan je voor dergelijk grote files misschien beter de Oracle import tool gebruiken, dat speciaal voor dit soort situaties bedoeld is. Je moet maar eens op OTN kijken voor details daarover.

HTH :)

  • Sinedia
  • Registratie: Juli 2002
  • Laatst online: 26-07 13:50
Tnx, zal ik eens naar kijken.

PS: Ik kan geen andere tool gebruiken. Ben een MIS (voor de leken: Management Informatie Systeem) aan het bouwen (of is eigenlijk zo goed als af) voor een zeer grote klant en deze moet alle functionaliteiten bevatten en dus ook het extraheren van alle bestanden. Geen van de bestanden levert verder ook een probleem op. Nu ja, alleen deze dan, maar die is dan ook abnormaal groot.