Op dit moment ben ik bezig met een access 2000 applicatie. Onderdeel is o.a. import en export ASCII files.
Op dit moment gebruik ik geen cursors, alleen directe SQL queries (SELECTs, INSERTs, UPDATEs). Wanneer de mdb op het netwerk staat, gaat de performance goed naar beneden (voor elke select wordt de hele tabel overgehaald door Access).
Daarnaast wil ik dat een import geheel wordt gecanceld wanneer er een fout in zit, of wanneer de gebruiker cancel drukt. Ik heb al de acties dus in een transactie gegoten (BeginTrans / CommitTrans / Rollback). Helaas lockt een BeginTrans data pages, die groter kunnen zijn dan de gewijzigde records. Dit betekent dat in een multi user omgeving andere users import errors krijgen vanwege record locks. Hier heb ik zonder transactie geen last van, maar dan kan ik niet eenvoudig de importslag ongedaan maken met Rollback.
Iemand een scherp idee hoe ik e.e.a. kan versnellen en verbeteren?
Het moet wel in Access blijven, SQL Server oid is geen optie op dit moment. 't Moet een file server db zijn.
Op dit moment gebruik ik geen cursors, alleen directe SQL queries (SELECTs, INSERTs, UPDATEs). Wanneer de mdb op het netwerk staat, gaat de performance goed naar beneden (voor elke select wordt de hele tabel overgehaald door Access).
Daarnaast wil ik dat een import geheel wordt gecanceld wanneer er een fout in zit, of wanneer de gebruiker cancel drukt. Ik heb al de acties dus in een transactie gegoten (BeginTrans / CommitTrans / Rollback). Helaas lockt een BeginTrans data pages, die groter kunnen zijn dan de gewijzigde records. Dit betekent dat in een multi user omgeving andere users import errors krijgen vanwege record locks. Hier heb ik zonder transactie geen last van, maar dan kan ik niet eenvoudig de importslag ongedaan maken met Rollback.
Iemand een scherp idee hoe ik e.e.a. kan versnellen en verbeteren?
Het moet wel in Access blijven, SQL Server oid is geen optie op dit moment. 't Moet een file server db zijn.