AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Select-Query auf MS-SQL-Server - nicht genügend Speicher
Thema durchsuchen
Ansicht
Themen-Optionen

Select-Query auf MS-SQL-Server - nicht genügend Speicher

Ein Thema von windi · begonnen am 29. Sep 2009 · letzter Beitrag vom 15. Okt 2009
 
windi

Registriert seit: 22. Dez 2004
Ort: Chemnitz
21 Beiträge
 
RAD-Studio 2010 Arc
 
#1

Select-Query auf MS-SQL-Server - nicht genügend Speicher

  Alt 29. Sep 2009, 11:19
Datenbank: MS-SQL-Server • Version: 2005 • Zugriff über: ADO
Hallo Leute,

habe folgendes Problem: In meinen Programm versuche ich über eine ADOConnection + ADOQuery eine SELECT-Abfrage auf einen MS-SQL-Server auszuführen:

SELECT MAX(protRecord_ID) FROM [WeldMeasureProt_T] WHERE [timerName]='R1SK1' AND [progNo]=146

(Die Daten in der WHERE-Klausel sind nur Beispiele) Diese Abfrage (und viele weitere) werden zyklisch immer wieder aufgerufen. Nach einiger Zeit bekomme ich jedoch eine Exception wenn ich die ADOQuery aktivieren möchte: "1240640 - Für diesen Vorgang ist nicht genügend Speicher verfügbar" Nach einiger Zeit kommt zusätzlich noch die Meldung: "Zugriffsverletzung bei Adresse 7C911F6E im Modul 'ntdll.dll'. Lesen von Adresse 000000004". Danach ist das Programm abgeschmiert.

Die SQL-Abfragen werden dabei in Threads ausgeführt. Hintergrund: Meine Programm kommuniziert mit einer SPS und empfängt zyklisch Meldungen. Diese müssen mit anderen Informationen aus verschiedenen Tabellen der SQL-Datenbank verknüpft und in eine andere Tabelle geschrieben werden. Anfangs hatte ich eine zyklische Arbeitsweise verwendet - leider kam es hier zu nicht akzeptablen Verzögerungen beim der Datenbankabfrage (teilweise 5s für eine SELECT-Query!) Deshalb habe ich die Informationen der SPS einem Thread übergeben, der ADOConnection und ADOQuery selbst erzeugt und nach der Abarbeitung auch wieder frei gibt. (Ich weiss die Beschreibung ist nicht so toll aber der Quellcode ist zu groß um diesen hier zu posten)

Die Fehlermeldung mit dem nicht genügend Speicher ist ja ein Indiz, nur wenn ich mir im Taskmanager den Speicherverbrauch meines Programmes anschau, dann ist der noch "normal" - also ca. 32MB - mal bissel mehr, mal bissel weniger - ich glaube also nicht dass es ein Speicherleak ist - habs auch mal mit Eurekalog getestet - das Programm hat keine Fehler gebacht.

Vielleicht hat ja schon mal jemand von euch mit einem solchen Problem zu kämpfen gehabt oder zumindest ne Erklärung für die Fehlermeldungen? Hab schon gegoogelt - nur nichts zufriedenstellendes gefunden.

Bin für jede Hilfe dankbar!

Windi
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz