2009-05-12 3 views
0

Ich habe ein Programm, das eine DB in einem einzigen Thread füllt. I Verwenden Sie eine Verbindung für alle Abfragen. Thats so kann ich sie alle in den Transaktionen laufen lassen.ADO SQLServer dbGo generiert eine EAccessViolation

Jede Sekunde bekomme ich eine neue Reihe von Dateien, die in einem SQL Server 2005 Express eingegeben werden müssen.

Die Anwendung kann 24 bis 36 Stunden laufen und dann plötzlich eine "EAccessViolation" in einer Abfrage erhalten.

Diese Abfrage wurde für mindestens 24 * 60 * 60 mal ausgeführt.

Ich bin nicht sicher, ob es auch mit Abfragen ohne Parameter passiert, weil die meisten Abfragen (90%) parameters hat. Sie sind Inserts/Updates oder wählen Sie mit einem Parameter (s).

Wenn dies alle Fragen nachher passiert bekommen Sie die gleiche EAccessViolation und nach einer Weile bekomme ich einen StackOverflow.

Während der Code in sutch so konstruiert ist, dass eine Ausnahme behandelt wird und das nächste Mal sollte der Code ohne Probleme laufen.

die Tatsache, dass dies in Varios Abfragen geschieht (die sich nicht von der früheren Version geändert haben) mit der einzigen Änderung, dass anstelle von dbGo aus BCB Builder 2007 ADO mit Cpp Builder 6.0.

Ich nehme an, dass es in der Windows-Version MDAC (2.8) oder in de dbGo von CodeGear etwas ist. Die Tatsache, dass wir in der Vorgängerversion (ADO BCB6.0) nicht darauf gestoßen sind und nun mit (dbGO und BCB2007) arbeiten, macht diesen Teil sehr verdächtig.

Ich hoffe, dass einige einige nette Ideen haben, was der Grund für all das sein könnte.

Im Moment kann ich es hier auf einem Desktop nicht reproduzieren. Ich versuche immer noch, es reproduziert zu bekommen, das defibnitly mehr Informationen geben wird.

Ich bin offen für Vorschläge.

grüße

jvdn.

Antwort

0

Ich würde den Treiber vermuten - versuchen Sie es mit einem anderen, um zu sehen, ob das Problem isoliert werden kann. Versuchen Sie auch, die Abfrage neu zu schreiben, um eine andere Syntax zu verwenden, vielleicht könnten Sie die Verbindungen gelegentlich wiederholen?

+0

Ich hoffe, das wird angezeigt, Die Windows-Maschinen sind die gleichen (Treiber) Ich habe einige zusätzliche Errror-Objekt in der ADOConn gefunden. Diesen werde ich weiter untersuchen. Danke für Ihre Reaktion. –