views:

2036

answers:

9

Hi I am developing desktop portable free application and I`m looking for portable database:

  • free
  • without install
  • up to 20K records
  • standalone application
  • supports encryption (optional)
  • SQL92 spec

thanks for advice

can you write some advantages and disadvangtages?

+38  A: 

SQLite:

self-contained, serverless, zero-configuration, transactional SQL database engine. SQLite is the most widely deployed SQL database engine in the world. The source code for SQLite is in the public domain.

Adam Davis
This is what you are looking for.
chills42
Yes, I agree. You want SQLite. I compared it against SEVERAL other free and commercial databases. This one (although not perfect) was the best, and it is free.
Brian Genisio
+1 for SQLite. I used it with a C# project and it was rock solid.
Jon Tackabury
A: 

Edit: Ooops, apparently I meant SQL Compact, not express

Allen
Neither of those meet his criteria.
ryeguy
SQL Express can be done without an install
Allen
compact is embeddable, express is not.
Mauricio Scheffer
thanks mausch, I misread that a while ago and had been thinking it was express for a while
Allen
+1  A: 

SQL Server Compact

Mr. Brownstone
Neither portable nor free...
PhiLho
@PhiLho: It IS free. And you comment just shows your ignorance.
Mr. Brownstone
Mr. Brownstone: I believe it requires a valid windows license to even use it. Check the terms and conditions next time you download from Microsoft, they almost always seem to mandate a valid license for downloads as well, especially from their site.Additionally, please don't use inflammatory language, such as calling PhiLho ignorant.
Arafangion
Additionally, the redistribution terms and conditions of SQL Server Compact explicitly forbid the GPL and many other licenses commonly used for free software, which is very problematic, and you may not "work around any technical limitations in the software", which is bullshit when it comes to software programming.
Arafangion
@Arafangion a. If you're running Windows you are either using a valid license, or a f***ing pirate, either way you first point doesn't matter. b. The redist requires SQL CE remain under the same license, your code may be any other license, includeing GPL. c. You and @PhiLho have both shown your ignorance of this product. Please refrain from commenting on subjects you are not prepared to discuss intelegently.
Eric Haskins
@EHaskins: 1) I never run windows on my systems, pirated or not. 2) I have checked the license again and I now realize I have misread the license somewhat, however it still does not allow the use of the GPL. 3) You are not allowed to allow people to run it on a system that does not have a valid windows license. (ie, you would have to categorically deny anything that would allow someone to run it on Linux or Mac OS X, and probably not be able to use the WINE project). 4) I am still disturbed that as an engineer, you are not allowed to "work around any technical limitations in the software".
Arafangion
+2  A: 

Not sure it meets the no install requirement but if you need more than SQLite check Apache Derby.

Nick
+9  A: 

Firebird embedded

About:

Firebird is an open source relational database offering many ANSI SQL-99 features that runs on Linux, Windows, and a variety of Unix platforms. Firebird offers excellent concurrency, high performance, powerful language support for stored procedures and triggers.

zendar
+2  A: 

If you're working in Java, HSQLSB might be a good fit. Otherwise, SQLite.

slim
A: 

Depending on your problem, you may consider Ms Access.

You can connect to Access database through Jet engine which is installed on Windows XP and newer.

Since v2002 it is SQL 92 compliant (as Microsoft claims).

zendar
MS Access, portable? You are joking or there is something I don't know? And certainly not free either.
PhiLho
You can build app using MsAccess as datastore and then ship MDB file with your app. Use OLEDB or ODBC to access it from whichever development environment. No need to install full MsAccess on client. Or is there any special meaning in portable that I don't get?
zendar
The Jet database engine is present on Windows whether or not you have Access. It's part of MDAC.
Kyralessa
C code for dealing with .dbf files (those of Dbase II/Clipper/Fox fame) is around 200 lines long. but i'd rather use textfiles than .dbf
Javier
dbf? Access is not dbf.
zendar
+2  A: 

Tokyo Cabinet would be a good candidate, except it isn't relational (so no SQL).
Given you don't have so many records, maybe a full relational database is overkill for your needs. Or not, it depends on your application, of course.

PhiLho
TC is certainly interesting, especially since it has so many different formats, each optimised for a different use. no relational, thought.
Javier
I am sure lot of applications using relational databases can do fine with a plain database, actually... :-) That's why I give this link anyway.
PhiLho
+1  A: 

Interesting article on DBMS-es from Wikipedia: Comparison of relational database management systems.

zendar