Fog Creek Software
Discussion Board

DB suggestions for logging transactions

I'm writting a shareware which requires to log the transactions of file downloaded

The record is fairly simple : Entry No. (Integer which in incremented each time a transcation is logged), File Name,
duration of download, date of download, etc,etc,

The record will just contain a dozen of fields...

I do not want to store these transactions log into a text file but in a local database...

What would you advise me ?

Does MS Access is an easy/cheap/reliable solution
for this fairly simple task ?

What are the other easy/cheap/reliable alternatives ?

(CodeMonkey : Don't ask me to write my own DB Engine) ;-)

Linus Ericsson
Thursday, April 8, 2004

You've written off text files ... why?

Thursday, April 8, 2004

Canuck :

The reasons why I do not want to store this in a text file are

1/ My application will requires more than the transcaction
    table (ie: setup tables, lookup tables) for selection
    So I dont want to end up with multiple text files for storing all that

2/ I may want to sort the data in the transaction log table,
    by duration, file size, IP Address
    (easier & faster to do in a DB than a text file)

Linus Ericsson
Thursday, April 8, 2004

I would go with MSDE for this type of stuff (if I did not have a SQL Sever running already).

Just me (Sir to you)
Thursday, April 8, 2004

The problem with MSDE is that you have to figure out how to install it with your application (his is shareware) if it isn't already and your download size is probably much larger. That and the fact that MSDE seems to be vulnerable to the same security problems that SQL Server has - but few customers know that the need to keep it patched...

A simple embeded DB like SQLite (free) or one of the commercial ones (Codebase, SQLanywhere, etc) would probably more then meet the needs of this app.

Thursday, April 8, 2004

I would advise against using MSDE : It is gross overkill. It is of course vulnerable to all of the issues of SQL Server because it is SQL Server (with a couple of detuning hacks and license limitations). Your options would be either to run MSDE all the time for the off time that you need to start your app, or to run it on startup of your app (and the startup of SQL Server is not inconsiderable). I'd eliminate it as an option. I'm a hearty advocate of SQL Server, but in this case it's like driving a bus to work because you see buses working for public transit.

The Firebird SQL project has a dll version that seems ideal for this need: When your app is running you'll have a full feature data engine at the ready, and when your app is stopped the system is quiet and unencumbered.

Dennis Forbes
Thursday, April 8, 2004

SQLite, embedded FireBird, embedded MySQL.

Thursday, April 8, 2004


missed the shareware bit and thought inhouse. Forget the MSDE suggesion and go with Dennis or Fred's suggestions.

Just me (Sir to you)
Tuesday, April 13, 2004

*  Recent Topics

*  Fog Creek Home