2011-01-12 3 views
0

Ich arbeite an monolithischen Desktop-Anwendung, die mit den binären Datenbankdateien und teilweise mit der Access-Datenbank 2007 (MDW-Datenbank ist in Access 97) interagiert. Dieses Tool hat einige schwerwiegende Speicherverluste und Leistungsprobleme. Ich arbeite an den Speicherlecks und das Werkzeug nimmt jetzt begrenzten Speicher für große Eingänge (früher stürzte es bei großen Eingängen ab). Bitte beachten Sie, dass dieses Tool bei großen Eingaben 1-3 Tage lang läuft!Access 2007 Verbindungsproblem! Nach Stunden der Verarbeitung der [ADOQuery] .ExecSQL produziert Ausnahme

Dies führt jedoch jetzt ein neues Problem ein. Nach einer gewissen Zeit werden die SQL-Abfragen/Datenbankoperationen fehlgeschlagen, z. MyAdoQuery.ExecSql löst Ausnahme von Typ EoleException aus, und Ausnahmemeldung wie "ob Microsoft Office Access-Datenbankmodul-Arbeitsgruppe-Informationsdatei nicht öffnen kann" wird angezeigt.

Mit der großen Eingabe ist die Menge der SQL-Transaktionen hoch. Verbindungen sind häufig geöffnet und geschlossen. Ich habe versucht, mit einigen Optionen wie etc Access Engine MaxLocksPerFile zu erhöhen, aber es funktioniert nicht ...

Bitte vorschlagen ...

Antwort

0

Ummm Ich bin nicht vertraut mit Access (Ich benutze Postgre) auf jeden Fall, wenn Ihr Transaktionen und nicht commiting oder sie damals rollen, die gerade das Problem beginnen könnte ... sollten Sie etwas likle (Pseudo-Code) verwenden:

start transaction 
try 
    execute queries and stuff 
    commit transaction!! 
except 
    rollback transaction 
end; 
0

das erste, was ich tun würde Update ist die Arbeitsgruppe-Datei auf die aktuelles Format.

A97 ist schon lange her und der Wechsel von Jet 3.5 zu 4.0 war riesig. Zurück c. 2001 oder so hatte ich eine App, die in A2000 eingesetzt wurde, aber ich verwendete A97 für die Entwicklung, so dass das Arbeitsgruppenformat A97 (Jet 3.5) war. Als ich schließlich A97 für A2000 aufgegeben habe, habe ich die Arbeitsgruppe-Datei auf A2000 (Jet 4.0) aktualisiert, die Leistung für jeden verbessert, der die App benutzt.

Ich erinnere mich nicht, wenn Sie eine MDW-Datei konvertieren können oder wenn Sie es von Grund auf neu erstellen müssen - ich habe das so lange nicht getan, ich habe es einfach vergessen.