I'm trying to write a small accounting app, mainly for my dad's use. His PC is running Windows 98 (and upgrading is pretty much out of the question due to technical concerns as well as logistics). Java 4 and 5 still seem to work with Windows 98, but I'm totally lost about the DB part. Does anybody know a good, up-to-date database that installs and runs on Windows 98 and has a JDBC driver available? Of course, the driver should work with a Java version older than 1.6, for example no generics or automatic unboxing or other recent features.
Derby is always a possibility - it works both embedded into the application and as a stand alone database, and can be downloaded as an extension to java 5. Just a note - if this is a small standalone app, then Derby will work great. I cannot attest to it's performance beyond this, although I have heard positive reviews of it from co-workers.
HypersonicDB or Derby seem like the logical choices, but any pure java database that runs on Java 1.5 seems doable. As for your concern that Windows 98 is not officially supported for these databases, Windows 98 is not supported by Microsoft anymore, so it will certainly not be directly supported by the underlying database. In a pure java implementation, the main thing to be worried about is that the file sizes don't exceed the Windows 98 (2GB?) limit. A pure java implementation that runs on a JVM should be fine if the JVM runs on Windows 98.
I'll get downvoted for this, but MSDE 2000 is still available for download.
Be forewarned though, installation is not as easy as the newer versions of MS SQL Server Express editions. You can have trouble connecting to it, before even doing anything useful, so install it veeeery carefully (didn't I warn you). But once you are up and running, it is "usually" (ahem) going to save you some time (not a lot though).
And JDBC support? Get the MS SQL Server 2000 driver.
Firebird. It can be installed as service or you can use it in embeded mode.