Thanks for the quick reply.

(1) The queries are specified in the SqlDataSource.  Examples:

"SELECT * FROM [Scores] WHERE ([Player] = @Player) ORDER BY [ScoreDate]
DESC"

No more than a few hundred rows in the table.


(2)  I will look into the LogPrep and TraceListener and see what I can do


(3)  The DB file is located natively to the app on each machine I've tried,
in the /App_Data folder of the website.  



(4)  The system event log contains no errors.  I am experiencing no other
problems on the server nor with any other asp.net apps running on IIS.  The
only change to make it work is to use an older version of
System.Data.SQLite.dll


(5)  There are at most three SqlDataSource controls on any page, and it is
possible that each would have the same data connection open simultaneously,
but all for read access, except when inserting or deleting a record.  The
performance problem occurs when only populating the grids with data.  Why
work on one system, but not the other?  Why work on both systems when using
earlier version ?


(6)  I have tried this app with the x64 assemblies, and have no luck
whatsoever.  The download page indicates that only the x32 assemblies will
work with VS.  


-----Original Message-----
From: sqlite-users-boun...@sqlite.org
[mailto:sqlite-users-boun...@sqlite.org] On Behalf Of Joe Mistachkin
Sent: Monday, January 20, 2014 8:33 PM
To: 'General Discussion of SQLite Database'
Subject: Re: [sqlite] Significant Performance Problem with
System.Data.SQLite.


Ed Tenholder wrote:
> 
> The asp.net app is several pages, each with from one to three datagrids
that
> are filled using ADO.NET.  Very little actual code.  Using  GridView,
> DetailsView, DropDownList, and SqlDataSource
> (ProviderName="System.Data.SQLite") controls.
> 

Do you know what kind of queries these controls are using?  Using the
LogPrepare
connection flag can help reveal the queries.  In that case, the connection
string
would look something like:

        SQLiteConnection connection = new SQLiteConnection(
                "Data Source=test.db;Flags=LogPrepare;");

Please note that you will need a TraceListener setup in order to be able to
see the output generated by this connection flag.

> 
> Anyway, the page loads and the grids populate nearly instantaneously on
the
> development machine under VS2012, but when deployed to WinServer 2012, it
> can take more than 20 seconds to populate the grids.
> 

Is the database file on a network share?  How many connections are trying to
access the database concurrently?

Perhaps the server is missing some patches to the .NET Framework?  Maybe the
server has other issues (e.g. file-system corruption, hardware issues, etc)
that cause problems running System.Data.SQLite?  Is there any trouble seen
in
the event logs?

> 
> Note:   Both machines are x64 and using NF4.0.    Also, could only get ANY
> of many versions of System.Data.SQLite.dll that I tried on WINServer 2012
by
> configuring the AppPool to allow 32 bit execution.  I don't understand
that
> either.     .dll is located  in /Bin folder.
> 

There are x64 builds of System.Data.SQLite that should work in a native
64-bit
process on Windows Server.

--
Joe Mistachkin

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

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

Reply via email to