Toon posts:

[Delphi] Aanmaak SQL bestanden

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik werk nu een tijdje aan m'n eerste programmatje in Delphi6 en ben al op behoorlijk wat problemen gestuit, maar uit deze kom ik zelf echt niet;

Delphi maakt bij het uitvoeren van een SQL statement een SQL-bestand aan in de directory van je programma.
Mijn probleem is dus dat ik zoveel query's aanroep dat ik hierdoor een foutmelding krijg (iets in de geest van: 'Too many open files. Increase MAX_FILE_HANDLE in your Idapi configuration').
De oplossing zou dus kunnen zijn om deze configuratieaanpassing te maken, maar daardoor blijf ik hetzelfde probleem houden bij de mensen waar ik het programma voor schrijf.

Het beste zou dus zijn om
a) helemaal geen SQL-bestanden meer aan te maken (dmv configuratieinstelling eventueel)
b) de SQL-bestanden te verwijderen na het afsluiten van een query.

Het programma verwijdert de SQL-bestanden nu alleen na het afsluiten van het programma.

Iemand een idee hoe dit probleem op te lossen?

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 18:57

Creepy

Tactical Espionage Splatterer

Hoe voer je je SQL uit??? M.b.v. een TQuery?

Ik heb zelf nog nooit last gehad van SQL "bestanden" die zomaar ergens neergezet worden.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Verwijderd

Topicstarter
Yep, gewoon een TQuery object.

Gewoon standaard op Active=False;

en dan aanroepen met ExecSQL / Active:=True;

Verwijderd

Op maandag 15 juli 2002 12:32 schreef Temporizer het volgende:
Yep, gewoon een TQuery object.

Gewoon standaard op Active=False;

en dan aanroepen met ExecSQL / Active:=True;
Een TQuery object maakt geen bestanden hoor :?

Verwijderd

Topicstarter
:) Vertel dat Delphi6.


Sorry, kleine toelichting:

Voorbeeld van een aangemaakt bestand: ' _QSQL000.DBF '

Een DBF-bestand dus (de query word ook uitgevoerd op een DBF-bestand).

  • Delphi32
  • Registratie: Juli 2001
  • Laatst online: 23:25

Delphi32

Heading for the gates of Eden

Hmmm jij hebt daar iets heel vreemds, Temporizer...

Ik kan je zo niet helpen, want ik ken dit gedrag van Delphi6 totaal niet. Maar overweeg ff het volgende:
1. geen BDE meer gebruiken, want daar zit het probleem (kan vaak niet als je met legacy spul werkt)
2. BDE nakijken op instellingen, want ik geloof er niets van dat Delphi ineens bestanden gaat saven; tien tegen één dat de BDE dat doet
3. Zeker weten dat je zo min mogelijk queries open hebt staan?

[edit]Kruisende post :) Mijn punt 2 wordt dus bevestigd. Het zijn query-result-cache-files :)

Verwijderd

Topicstarter
Allereerst hardstikke bedankt Deplhi32...

Kan alleen niet vinden waar ik die cache kan uitschakelen.

  • Delphi32
  • Registratie: Juli 2001
  • Laatst online: 23:25

Delphi32

Heading for the gates of Eden

Op maandag 15 juli 2002 12:44 schreef Temporizer het volgende:
Kan alleen niet vinden waar ik die cache kan uitschakelen.
Ik ook niet :) Logisch, ik werk al jaren niet meer met de BDE.

Kijk eens naar de Enable Schema Cache, Schema Cache Size en nog zo een Cache waarden en speel er eens mee.
Geldt alleen als je een ODBC driver hebt gekozen voor je .dbf files. Heb je dat niet, dan houdt het waarschijnlijk op en moet je de BDE weg zien te krijgen.

Als laatste redmiddel kun je voor elke query (of setje queries) een TDatabase aanmaken, want de cache files worden weggegooid bij closen van de TDatabase.
Pagina: 1