Mailinglisten-Archive |
>Ich habe das Problem, dass sich der Server mit der oben genannten Fehlermeldung aufhängt(nach mehreren Tausend erfolgreichen >Inserts) , wenn eine Funktion, die prüft ob ein Datensatz schon da ist, ständig in einer Importschleife >aufgerufen wird. >Der Fehler tritt nur mit einem schnellen Rechner auf(P4 1700). >Mit einem P3 500 nicht. >Betriebsystem: Windows98 >ODBC Treiber Version 2.51 [...] >Hat jemand eine Idee oder vielleicht ein ähnliches Problem schon mal gehabt. >Vieleicht ist auch was grundsätzlich falsch. Hi Rene , Wie der Fehler schon sagt öffnest du zu viel Verbindungen. Ohne deine boolsche Funktion jetzt analysieren zu wollen ist die Sache die, dass der schnelle Rechner einfach zu viele ODBC - Verbindungen gleichzeitig öffnet. Abhilfe: 1. ODBC - Verbindung permanent öffnen (pconnect o.ä.). 2. Wird mit deinem close - Befehl denn wirklich die Verbindung geschlossen und der Prozess beendet? 3. Den Befehl hArtikelSet.Open(CArtikelSet::snapshot,SuchBuffer,CArtikel Set::readOnly ); nicht in dieser function aufrufen, sondern bei der Intitialisierung einmal öffnen. Zwar werd ich aus deinem Code jetzt net ganz schlau, aber ich vermute du öffnest für jeden Datensatz eine eigene ODBC - Verbindung. 4. Direkte Verbindung verwenden (mysql.dll). Gibts für einige Programmiersprachen sogar als Quellcode und kann ohne dll eingebunden, sprich kompiliert werden (Betriebssystemübergreifend). 5. Schau doch mal mit einem Prozessüberwachungstool bzw. Resourceneditor nach was dein Code mit deiner Maschine macht. Es kann nähmlich auch sein, dass die Verbindung zwar geschlossen, die Resourcen aber nicht freigegeben werden (Beispiel: MS - Word mit formatiertem Serienfax). MFG Wolfgang --- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive