Table of Contents
Another naive but positive and fun Java JDBC SQL shell client. Designed to simply query databases by JDBC, or automate database tasks and prototype applications before real implementation.
This is an old personal project that I used to develop occasionally, and that I just put on GitHub under an opensource license, but the development started in 2009! So please bear with me as to the quality of the code. It works, and it can be useful!
- connects to any database by JDBC driver,
- sends SQL commands to database server,
- adds predefined useful commands and macros,
- is highly configurable by command line or file,
- accepts user-defined macros and command plugins,
- evaluates expressions by JSR-223,
- embeds a minimalistic graphical IDE,
- includes an HTTP server for remote querying,
- secures scripts execution by digital signature,
- provides useful javascript scripting libraries,
- sources recently released on GitHub,
- only one (small) jar file!
LunaSQL is released as a jar file, which can be run using H2 Database driver as a minimalistic command with:
java lunasql.Main --type=H2DB --name=path/to/base/MyDB --user=sa --password="" --console
Important note about the Nashorn JSR-223 script engine: since Java 15, the Nashorn script engine (Javascript eveluation engine) was removed from the JRE distribution. As result, in order to evaluate control commands or javascript libraries, it is now mandatory to add an external library, like Rhino or Nashorn. Other JSR-223 engines like beanshell Jython, JRuby or clojure can also fit for evaluations.
To build the distribution, just run the ant task (you may have to adapt the path id="classpath"
entry):
ant dist
Any help will be greatly appreciated! You can contribute by using the application and testing it, reporting new issues. You can also try to work on good first issues. Don't forget that the Discussions page warmly welcomes you to say hello or discuss about new ideas, questions...
See the src/lunasql/doc/libraries.txt. Thank you to all libraries contributors for your good job!
First, commits are signed with PGP key fingerprint 466F B094 B95C 3589
(until 2023: 2EA0 CCE6 2860 3945
) and are automatically verified by GitHub.
LunaSQL is distributed under the CeCILL License. See the french or english versions for further details.
If you like LunaSQL, please remember it's maintained in my free time, and... buy me a coffee ❤️