Do I need Java to use Base?
Do I need Java to use Base?
Not necessarily. Java (JRE) is used to run various wizards, extensions and data sources -- such as the Report Builder extension and the built-in “HSQL relational database engine.” Java is also necessary to utilize the popular 'JDBC' connection option available with a variety of external database engines. But Base, itself, does not require Java. So while Base can offer greater function out-of-the-box with Java installed, the Java components are optional.
Data sources usable without Java include: delimited Text files (CSV), spreadsheets, address books, dBase files, as well as many relational-databases. In addition, tables and views created with MS Access are accessible on the Windows platform. The dBase option is particularly handy for creating flat-file databases through Base, similar to MS Works. For relational database needs, Base connects to a variety of non-Java engines such as PostgreSQL, MySQL, MariaDB, Firebird, Oracle or MS SQL Server. These RDBMS's may be installed locally or on a network for database sharing among multiple users. Base connects to these full-scale RDBMS's in non-Java environments through standard ODBC, or native SDBC, drivers as available. But unlike dBase, these RDBMS's require additional tools for database creation and schema development (DDL) tasks. They also require additional daily chores such as RDBMS start-up and shutdown...so they're not exactly "seamless" with Base. SQLite can fill-the-gap between dBase (flat-file databases) and these full-featured RDBMS options. SQLite is not a full-featured RDBMS, but it can be adequate for simple projects confined to a single-user (throughout the database life-cycle) and with rather basic relational-database requirements (no DATE data-types or date-related searches/functions, etc.). SQLite runs seamlessly with Base, but installation requires third-party drivers, and additional tools for database creation and schema development tasks. Recently, Firebird was chosen as the non-Java alternative to HSQLDB in LibreOffice. So "Embedded Firebird" is now an experimental feature in LibreOffice 4.2+. This integration of a full-scale, relational, database engine holds great promise, but proper implementation could take years because the current design risks data-corruption, while Firebird inherently requires a more advanced database manager than Base currently provides.
Otherwise, with a Java Runtime Environment (JRE) installed (even portably) Base runs well with various Java databases including the built-in HSQLDB. This has some distinct advantages over SQLite, and perhaps over other relational database (RDBMS) options. Like SQLite, Java database-engines are light-weight, fast, cross-platform and run seamlessly (auto start/stop) with Base. HSQL databases are created through Base, while the GUI Table Designer is adequate for most schema development tasks. Installation is a non-issue, since Java engines are completely portable. And Java databases are particularly rich in features by comparison. For example, modern Java databases like HSQLDB 2.x, H2 and perhaps Apache Derby offer advanced features including: ACID transactions, modern SQL syntax, data-typing, custom functions, stored procedures, encryption, hot-backups, and advanced multi-user support (MVCC). These additional features can ease project-development to a degree. For instance Base queries, forms and reports thrive in a full-featured SQL environment, thereby avoiding macros. Something as simple as 'data-typing' enables flexible queries based on date/time fields; something that becomes a nightmare with a weak data-typed engine like SQLite. And as the user-count grows, these Java engines scale modestly in support of multiple, concurrent users. So Java database engines occupy a niche on the desktop and pair well with Base, expanding the scope and potential of Base projects while easing application development. Given the advantages, it's no wonder that HSQLDB 1.8 (released July 2005) was selected over SQLite as the default with Base -- albeit a rather dated/crippled version of HSQLDB by today's standards. But you're not confined to the bundled version/engine. HSQLDB 2.x and H2 are much more advanced and particularly well-suited for Base projects. You'll also find wide support for HSQLDB and perhaps H2 in the Base community forums and other support channels. NOTE: a 32-bit JRE is necessary for Windows and macOS (Mac) environments, where Base is strictly a 32-bit application.
In summary, if you don't have Java (JRE), then the following functionality will not be available:
- You will not be able to create or open all-in-one “embedded database” files.
- You will not be able to run wizards including the table, query, form, or report wizard.
- You will not be able to use the Report Builder extension.
- You will not be able to utilize the JDBC link option.
- You will not be able to create a seamless, portable, cross-platform, full-featured, data-safe, relational-database project as available with Base templates.