Reputation: 1033
My application uses Microsoft Access but now may be hosted on Linux. While accessed from multiple computers one may update records when it's being read by other users.
The embedded database should support inner SQL, joins, etc. With SQLite existing queries fail, using inner join the brackets after FROM were not accepted. Right join too is not supported. I know Apache Derby and H2 but prefer your opinion.
My application in Java uses a Microsoft Access mdb file shared on a network drive, making DSN-less connections from remote computers.
Upvotes: 15
Views: 4025
Reputation: 16339
You can find a fairly detailed description of Derby's SQL Standards compliance here: http://wiki.apache.org/db-derby/SQLvsDerbyFeatures
Upvotes: 2
Reputation: 338
Firebird is the most "comptible to SQL" embedded database. The engine of the embedded version is the same as the server edition.
Pay attention that with Firebird embedded only one client at a time can connect to the database, so you can span multiple connection from the same process but not connect from different processes. This issue is fixed in Firebird 2.5 and above.
Upvotes: 1
Reputation: 2282
This might be helpful in your research: Comparison of relational database management systems.
I personally would suggest taking a serious look at Firebird. It is cross-platform, has a native .NET provider and supports the joins you mention.
Upvotes: 1
Reputation: 540
Our company is using Advantage as well. We came at it from an XBase background, but have since embraced its SQL nature. It runs on a lot of platforms (Windows, Linux, NetWare) and has a bunch of drivers (PHP, ADO, JDBC, ODBC, Crystal) so that it works in just about any environment in which you might program.
Upvotes: 1
Reputation:
I would take a look at the Advantage Database Server (sybase.com). It runs on Windows, Linux, and NetWare. We have a commercial accounting / project management application for the construction industry and switched to Advantage 6 or 7 years ago. We have been extremly pleased with the performance and support. Customers are very happy too.
Upvotes: 6
Reputation: 6808
I think it's Firebird.
Even Cte's are supported in Firebird 2.1 !
Firebird works on Windows, Linux, Mac OS...
Jaybird driver for Java.
There are some good migration tools from Access to Firebird:
Upvotes: 14