SQL Admin included in the Softpedia software database

I'm very proud about Softpedias tests and certificate!
Fredy's SQL Admin has been tested in the Softpedia labs using several
industry-leading security solutions and found to be
completely clean of adware/spyware components.

Changes for Version 2.5

Login Window

You can now save and load the configuration parameters. So it is much easier when you use different database services.

Jasper Report Viewer

There is a Jasper Report Viewer integrated in SQL-Admin

Database Info

DB-Info has been extended with some new functionality:

SQL Monitor

When you click the middle mouse button in the picklist on the SQL Monitor, you can let SQL-Admin generate SQL-Statements for you.

Latest change 2.4.3

This version has a new functionality. It is now able to import a bunch of data out from an XML-file into a table. To do so, there are only a few rules to stick to: Thanks to feedback I've also added a checkbox within the datadrilling to select/unselect all items with one click. Every additional feedback is very welcome. I'm glad to hear from you I've did some tests with Apache Derby. I really like it, that's the reason I've put the Jar-Files for derby into the webstart part. Now you can immediately start work with an embedded RDBMS.

Latest changes Version 2.4.2

This version has a new Tool, it is called Data Selection. This tools has initally been developed by Daniel Krebs and me to allow complex data selections for users not knowing much about RDBMS and Joins and all this complicated things in the world of databases. This tool then has been in production for three years. Now I've adapted this tool and added it into SQLadmin. Please read the manual here. While searching for a simple way of installing and using SQLadmin, I've tried different tools and then decided to use Java-Webstart. So just click here to get your version of SQLadmin immediately running.

Latest changes version 2.4.0

This Version has a new CreateTable it is named CreateTable2. This GUI allows to create the whole table within a grid. You can also set Defaultvalue and Checkconstraint for an attribute it allows you to set the referencing field in another table, by simply clicking the selected field from the tree of tables. IT then sets this attribute to NOT NULL, fills the name of the attribute and sets the same datatype as the target field. (Be aware, that a field set as CHAR becomes in PostgreSQL bpchar, and this then gives an error, I did not find out why up to now). I also fixed some bugs and SQLMonitor now does 'desc' correctly.

Latest changes version 2.3.1

Data Export
This version got a better data export utility. Thanks to the Apache POI -Project it is possible to export Data directly into XLS-file format. Also I changed the behaviour of the CSV-exporter to be much faster, because I'm now using a PrintWriter to export data. There is a simple way to export into XML-Format (please let me know, if it feeds your needs).

The License changed to LGPL to make Admin more available.

If the underlying RDBMS is MySQL there is an additional menu that opens a simple dashboard, to see, what MySQL is doing

Latest changes Version 2.3

This version is mostly an improvement of the code generation part of admin.
When processing lot of data by using generated wrappers, it is very expensive because of creating for EACH object it's own connection.
This fix now adds an additional constructor to the TableNameRow.java that allows an instatiation with an existing t_connect-Object, so the existing connection is handed over to the new object.
Also when doing searches, the next-Method of the wrapper object uses the existing connection for instantiation and to connect ot the DB.
This behaviour can be tested with MySQL by using the gpl.fredy.ui.MySQLconnections utility. This can be launched by java gpl.fredy.ui.MySQLconnections host user password database

Latest changes Version 2.2


Connection counter
You can now limit the number of connections Admin opens. As soon as the number is exceeded it is going to reuse existing connections. This is very usefull if a license is bound to the number of simultaneous connections.

Admin now uses the java.util.logging-Interface. So you can use the standard Java logging mechanism. See your jre/lib/logging.properties File how to handle logging.

Stack Tracer
A lot of the exceptions throw now the exceptions into gpl.fredy.ui.StackTracer. So if this happens, you will see a up-popping dialog giving you stack-trace infos. To get exactly, what happens also have a look at your logging.


I did a lot of improvements to the codegenerator. Especially it now works better with Timestamp and Time datatypes. I'm still struggeling around with the Pop-Up-Trigger under windows and I'm still verry open for ideas. In the meantime, please press the menu-button to display a components-menu.

Create Table

You can now use all the data-types your specific RDBMS supports while creating a table. There is also an additional button to set DEFAULT or AUTO INCREMENT values. If the value, put into the length-field starts with a digit the whole impression will be put into brackets, if you choose another character, it will not be put into brackets.

Alter Table

This now has a better support for PRIMARY KEY and AUTO INCREMENT. It is also more generic to support more RDBMS'. Due to that it is not anymore possible to change a attribute's name within this GUI.


Now you can save queries to a file and load queries from a file.

new Product

I did a new product, the SimpleLogServer. This is a very simple Logserver listening onto a port to use java.util.logging.SocketHandler.
If you want to use it, you change your /usr/java/jre/lib/logging.properties- File as follows:
java.util.logging.SocketHandler.formatter = java.util.logging.FxmlFormatter
java.util.logging.SocketHandler.level = ALLor the one you prefere
java.util.logging.SocketHandler.host = localhostor the one you prefere
java.util.logging.SocketHandler.port = 5237or the one you prefere

java.util.logging.FxmlFormatter this is a simple change of the XMLFormatter so I was able to use it properly. You need to have JDOM within your CLASSPATH to make SLS run properly.
SLS uses by itself java.util.logging to log all the log-records received by wire. So you have to avoid loops of SLS sends logrecords to itself and so on. To do that, you can provide a personal logging.properties file to SLS with the option -Djava.util.logging.config.file=myfile to SLS or by using a flag -GUIONLY.
-GUIdisplay a GUI
-GUIONLYdisplays a GUI and only logs to it
-pthe port SLS is listen on Default 5237


Admin now supports Empress

MySQL DashBoard

java gpl.fredy.ui.MySQLconnections host user password database Displays now a DashBoard for MySQL. See the Screenshots to get an impression.

Latest changes Version 2.0.2


I did a lot of extensions to the code-generator: XML-Editor
This is to modify the XML-file to layout the GUI according your ideas and needs. It has been written just to work on a XML-file that follows the rules in Admin. It is not to be used with any XML-File.
You have to integrate JDOM and Martin Newsteads MSeries into your CLASSPATH. Be aware of the different versions for JDK1.4 and below JDK1.4. and higher
I did not find how to use the Mouse-PopUp-Trigger for windows, so you need to press the function-key F4 to display the component related Menu. Every input to solve this issue is very welcome.

McKoy DB

This seems to work fine, except the Alter-Table does not work right.

Next Steps

I plan to extend the Alter-Table GUI into a more generic version, so it will be easier to be used with different RDBMSes.
Christian Koerber sent a number of information to use ant together with Admin. This I will try to adopt within this summer, so first I will spend some time to dig into ant.
But be aware, summertime is bikers-time and I will spend sunny days with my familie.....

Latest changes Version 2.0 and 2.0.1


Did a lot of changes to make sure, InstantDB closes properly. Might result in a slow down in the performance, but I think it is worth the effort.

Packages separation

To allow the use of parts out of Admin and to make Admin more transparent I divided it up into the following packages:


There is a new ImageLoader (gpl.fredy.ui.LoadImage) that simplifies the loading of a Icon in Swing. It searchs for Images as follows:

  • is there a parameter -dadmin.image=[DIRECTORY or URL]
  • if not found, it goes to gpl.fredy.images to look for the file
  • if nothing is found, search in the directory ./[PACKAGE]/image (e.g. gpl.fredy.ui.images) The ImageLoader is now able to load images from a different server via http.
    A strange behaviour on Solaris with loading the images has now been solved.(It came from setting the ImageIcon for the Frame).

    New Code generator

    There is a complete new Code-Generator that divides up the code generation into three steps:
  • generate XML-File
  • edit XML-File
  • generate Source-Code
    There are three files generated

    Have a closer look at the documentation. Please give me some feedback, especially I'm interested to now if it is better to keep on with applications.basics or move these classes to gpl.fredy.share and gpl.fredy.ui .


    The change of the properties (Login-Screen) works now. There is no need to click twice onto the connect button to overcome this failure. There is still a Error-Message given out onto Standard-Err, but this is from a non successfull connection while changing the RDBMS and can be ignored.


    The template-DBs in PostgreSQL forced the DBTreeView to end with a lots of exceptions as the name is given back with the catalog-function but then it is not possible to get further info of these DBs. So in the Version 2.0.1 these Database starting its name with template will be ignored (postgreSQL) only


    It is working, but together with InstantDB there must be done a reconstruction of the DB by instantDB. So there will be sometimes a question from the RMI-JDBC- startup to reconstruct the DB, so press y in this case.
    It is quit hard to bring all these RDBMS under one hut, but be patient, I'm working on it.

    Fredy Fischer
    Contact me at:
    Last modified: Mon Jan 20 21:53:16 MET 2003