This archived page dates from 2004. It is being preserved here in case the knowledge is useful to you, but it is quite likely very out of date.

tinySQL is a lightweight, 100% Java SQL engine that also includes a JDBC driver. It was featured in the book Java Database Programming.

tinySQL supports the following (from the README file):

SELECT (with joins)               joins are buggy in dBase
UPDATE
INSERT
DELETE
CREATE TABLE
DROP TABLE
ALTER TABLE xx ADD coldef                  dBase only
ALTER TABLE xx DROP [COLUMN] col           dBase only
ALTER TABLE xx RENAME [COLUMN] foo TO bar  dBase only
WHERE                             only AND is supported

TinySQL now supports all JDBC-Datatypes and the ODBC-Minimum grammar is
implemented.

Although tinySQL is not optimized for speed, its architecture makes it possible to build SQL interfaces to non-SQL data sources, such as .DBF files or text files.


Thanks

tinySQL was greatly inspired by George Reese’s mSQL-JDBC driver - the source made it possible. Many thanks go out to those who have contributed to tinySQL - what started out as my quick hack has turned into a nice little Java database thanks to these folks:

  • Andreas Kraft
  • Thomas Morgner
  • Edson Alves Pereira
  • Marcel Ruff
  • Davis Swan (the current maintainer!)
  • Thomas Siedschlag

My apologies if I have forgotten anyone - I am going on my poor memory aided by the cvs logs :-) send me mail if your name should be up there!


Mailing List

There is a tinySQL mailing list.


CVS

We’ve put the source code into a CVS archive. Here are some instructions for getting the latest source code (which may very well be completely unstable).

You will need Java 2 to compile this release. You can browse the CVS archive here.


Fun Hacks

I hacked tinySQL to compile under JDK 1.1.8, and I was able to run it on my little Diamond Mako (a rebranded Psion Revo). Here is the patch against the October 30, 2001 snapshot you need to compile it. I used the Blackdown JDK 1.1.8 on Linux to compile it. Here is the jar file, which I put in C:\System\Java\ext on my Mako. Here’s a screenshot:


The hsql data engine is another open source SQL engine for Java that is lightweight and includes a JDBC driver. It has more features than tinySQL.

Contributing

See the SourceForge Project Page for more details. Thanks!!!