JDBExplorer: a test-drive

6

Even though I started a journey into the realms of Open Source software available for Oracle , I’m taking a small detour now. JDBExplorer was suggested to me via a comment on Oracle Open Source: TOra (toolkit for Oracle).
As promised I have taken a look at it and now I’m posting my findings.

This 100% Java utility supports PL/SQL and Java development in Oracle Databases. Currently it’s only available for the Windows platform. The website indicates a linux-version to be underway.

This utility is not an Open Source project. It is available for download, but only as a trial. In order to use it with all of the advertised features, you’ll need to obtain a license. On the website there’s no information regarding the licensing fee or how to obtain one.

There are some limitations if you don’t have a license, like creating Java Server Procedures or debugging.
I played around with this tool for a while, and I must say it has some really nice features. One of the things I like is the customizable toolbar. You can add your own SQL-scripts under a button for easy execution. It will open up a SQL-Editor and load the specified file into it. It’s a lot easier than using a button to open a SQL-Editor, use the ‘Get SQL File’-button, find your script and then finally execute it.

While in the SQL-Editor, a nice touch is the “matching parenthesis functionality�.
JDBE-SQL-Editor
As shown in the above example, my caret (cursor) is on the line that starts with select, right after multiset, the highlight is the last parenthesis on the screen. The editor shows a box around the parenthesis. Maybe it would be nice if this functionality is also available to match up your “if� or “loop�?
What I’m missing in the editors is an auto-indentation feature, the next line you start to code starts at the beginning. You have to add your own spaces in order to properly format your code.

Creating stored procedures gives you appropriate feedback of your actions. Either you’re shown a window displaying the errors encountered or you’re shown a pop-up that compilation was successful.
Too bad I wasn’t able to test the debugging functionality. According to the help files, it’s non-interactive. I’m curious how this would work, and especially if it’s workable. Until now I’ve only worked with interactive debuggers, allowing you to step-into, step-over, step-out of source code, so this would have been a new experience. Too bad.

When connecting to JDBExplorer it opens up a nice and big explorer window. It’s easy to navigate to the different types of database object you want to explore. The left side shows the navigation-tree and the right side shows you different tab-pages. If you highlight a table the table-tab-page is shown and shows you the relevant information on the right side. The same is true for the other database objects. The right side stays in sync with the left.
DBMS_OUTPUT can be monitored in a separate window, which requires a button to retrieve the output.
Opening multiple versions of the same source code is possible, this can lead to some undesired effects. This only happens if you’re not careful about what you’re doing.

Modifying table data via JDBExplorer has some severe limitations. This example shows some of these limitations.

create table d (id number, name varchar2(100), dt date);

It’s not possible to insert a new record into this table using the “Create New Row� button in the toolbar. Instead it shows you an error message:
JDBE-Error

After alteration of the table (I dropped the date-column), records could be inserted. This also has a strange side-effect. If you don’t navigate out of the inserted fields, they’re not considered filled. Commiting leads to null value in the database. By just navigating out of the field and using commit again, another record is inserted into the database. This new record is not reflected in JDBExplorer at first, after refreshing the data it is.
Updating values in a table can only be commited if you navigate out of the changed field.
I couldn’t delete the last record out of this table. Other records could be deleted, but not the last one.
There’s also a restriction on inserting or deleting, you can’t add or remove records if you apply an order by clause to the data.
This part of JDBExplorer could use some improvements. While you’re at it, maybe a single record view? ;-)

Overall conclusion: JDBExplorer is a nice utility, it has some really nice features. It also has some limitations. If you use it primarily to change data in the database you’re probably going to be frustrated. If you’re going to use it to develop stored procedures in the database, it’s fun to play with this tool. Too bad I couldn’t test the debugging-functionality it has to offer.
Maybe there’s someone who has worked with the non-interactive debugger and can shed some light one the experience?

Share.

About Author

6 Comments

  1. Alex Nuijten on

    Hi Dustin,

    To be honest, I didn’t have the time to check them out. Currently I’m preparing for my presentations at ODTUG (http://www.odtugkaleidoscope.com/) and consumes a lot of time. But they are on my To-Do list, and when I’m done I will post my findings. Thanks for reminding!
    If you want something else to read in the mean time, check out the articles written for the ODTUG conference. (http://www.amis.nl/tech_artikelen.php?PHPSESSID=f93751d31d59a0086b2dc5a1368d88fc)

  2. Alex Nuijten on

    Hi Dustin,
    Thank you for your comment.
    I’m not familiar with these tools. Both of them have a 30-day trial version available and I willtry them out when time permits. Thanks for pointing out these tools. I’m always interested in trying out new stuff.

  3. Hello,

    What is your take on the DreamCoder and Oraspeed…..from developers point of view are these OK compared to TOAD?

  4. Alex Nuijten on

    Thank you for your comments.

    Since this is a commercial product it has some serious competitors. Because there’s license fee required to get the most out of this product, you’ll have to compare it to other commercial products. Just think of PL/SQL Developer , Toad, DreamCoder, Golden and the list goes on and on.
    Each one of them has its pros and cons. I don’t think it can seriously compete with these products. (I must make a note however, so far I’ve only used PL/SQL Developer and Toad in a production environment. The other products I’ve only heard of by name, not by experience.)

    If this was an Open Source product, where developers can join in to improve on the product, I think it has a lot of potential. If you compare it to Open Source PL/SQL IDE like TOra (review) it has a long way to go. It’s not entirely fair to state this, since TOra also requires a license if you’re going to use it on a Windows platform.
    It would be the only(?) Open Source PL/SQL IDE on the Windows platform, wouldn’t that be great?

  5. Doesn’t sound too promising. Would you recommend it to anybody? Is it anywhere near a serious tool for database development?