View Full Version : The _qsq*.db files created by delphi DB application
atasoft
06-27-2001, 01:06 AM
I developed a DB application in Delphi 5. The application works without problem for some days. Then, it gives error "Insufficient disk space" if a user tries to insert a new record.
I found out that sometimes the temporary _qsq*.db files remain after the user exit my application. Also if I delete these temporary files (from Recycle-bin too) then the system works again for some days until it gives the same error. I perform the same solution.
What are the files _qsq*.db? Why are they not deleted after the user exits the application? What is the solution to the above problem?
Best regards,
Andreas
joeBooth
06-27-2001, 02:36 AM
The files are temporary files generated where you issue queries against Paradox tables (although other types of operations might produce them as well). They are supposed to be deleted when the table/query is shut down.
Are you closing all your tables and queries?
Is it possible the user is exiting the application by either rebooting or end-task?
Joe Booth
www.jbooth-consulting.com
atasoft
06-27-2001, 04:36 AM
I Close all the tables and the user seems to close the application properly.
Similar applications run on different customers without problem. The difference in this application (Imaging System) is in one more functionality: the user scan a lot of invoices in one temporary document (OCR is performed on each page on Customer Number and Invoice Number), then the user presses the POST button and the system searches for customer and creates for each invoice a new record.
It means a lot of LOCATEs and INSERTs in the system.
In the morning, I deleted all the temporary _qsq*.db files and the user logged in to the system. She was scanning and posting a lot of invoices until the afternoon when the application gave the same error: "Insufficient disk error". Note that she did not log off the system.
Therefore the user entered the application and it gave the error: "Insufficient disk error" before the user exited it.
I asked her to exit the application and I found out that a lot of _qsq*.db were created in the disk (note that we deleted all _qsq*.db temporary files before the enter the application.
Best regard,
Andreas
joeBooth
06-27-2001, 08:00 AM
You might want to consider periodically cleaning the temp files from within the application. (Close the table, delete the qsq tables, re-open the tables). Another approach would be to get a directory monitoring component and as files are added, consider deleting older ones. If Delphi is already using the file, you will not be able to delete it...
Joe Booth
www.jbooth-consulting.com
UPhoenix
06-27-2001, 08:41 AM
use (Query1.Active:=True and Query1.Active:=False) instead of (Query1.Open and Query1.Close)
atasoft
06-27-2001, 09:45 PM
Thanks for your suggetion to delete the old temp files, but this the hard way to solve the problem. I wanted to know why it happens and according to it find the solution.
Why does BDE (I thing is BDE job!) create more temp files while the application runs? Why does it not use the same temp files until the application closes?
atasoft
06-27-2001, 09:56 PM
Hi "UPhoenix", I think this is not the solution (Active,instead of Open) because the application (except the AUTO operation - a lot of Insert and Post) runs in many other locations without any problem.
vBulletin® v3.8.7, Copyright ©2000-2013, vBulletin Solutions, Inc.