Microsoft has chosen to not release a 64-bit version of Jet, their database driver for Access. Does anyone know of a good alternative?
Here are the specific features that Jet supports that I need:
- Multiple users can connect to database over a network.
- Users can use Windows Explorer to copy the database while it is open without risking corruption. Access currently does this with enough reliability for what my customers need.
- Works well in C++ without requiring .Net.
Alternatives I’ve considered that I do not think could work (though my understanding could be incorrect):
- SQLite: If multiple users connect to the database over a network, it will become corrupted.
- Firebird: Copying a database that is in use can corrupt the original database.
- SQL Server: Files in use are locked and cannot be copied.
- VistaDB: This appears to be .Net specific.
- Compile in 32-bit and use WOW64: There is another dependency that requires us to compile in 64-bit, even though we don’t use any 64-bit functionality.
Luckily, things have changed in the past two years:
Since Office 2010 is available in a 64-bit version, Microsoft had to create a 64-bit version of their Jet Engine. According to the Microsoft Customer Service blog, the Microsoft Access Database Engine 2010 Redistributable contains a 64-bit driver, which is able to access recent versions of the Microsoft Access database format.