Greetings!

I have a Windows service application written in C# using Visual Studio 2008 
that uses the ADO.Net 2.0 provider for SQLite downloaded from SourceForge.  The 
application writes one row consisting of three values to each of 124 SQLite 
databases once a minute.  The service uses the SQLiteDatabase.ExecuteNonQuery() 
method to write the data into the databases.  As services usually are, this one 
is designed to run forever.  The problem is that it slowly increases memory 
consumption.  When it starts, Task Manager reports that it uses 34 megabytes of 
memory.  That number goes up by about 3 megabytes per hour.  

When I comment out the call to ExecuteNonQuery(), the memory consumption of the 
service remains constant.

This behavior is not acceptable.  I can't have a service whose memory footprint 
grows without limit, no matter how slowly it grows.  I would have expected that 
the amount of memory consumed by my application before the call to 
ExecuteNonQuery() would be nearly the same is the amount consumed after the 
call finishes, with possibly some difference because I can't be sure when C#'s 
garbage collection will do its work.  What am I doing wrong?  Is this a problem 
in the provider?  Is this a problem with SQLite itself? Should I be using ADO 
.Net more correctly?

Here's the function:

        public int Execute(string query)
        {
            int rowsAffected;

           if (m_command == null)
            {
                System.Data.SQLite.SQLiteException ex = new 
SQLiteException("Attempt to execute a query on a closed or broken database.");
                throw ex;
            }
            m_command.CommandType = CommandType.Text;
            m_command.CommandText = query;
            rowsAffected = 0;
            // rowsAffected = m_command.ExecuteNonQuery();
            return rowsAffected;
        }

Thanks for your help!

RobR


      
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to