JDBC Navigator
Home > JDBC Navigator
A free database browser and editor
JDBC Navigator is a free database browser and editor. It lets you open JDBC
database connections, browse schemas and tables, traverse relations by
finding rows referencing a row's primary key, traverse relations by finding
rows referenced by a row's foreign keys, edit table data (inserting new
rows, and editing or deleting existing rows). When you edit two or more
related tables, JDBC Navigator will automatically commit all edits in the
right order so as not to violate any constraints at any time.
JDBC Navigator runs interactive queries and table loading operations in the
background, so the application stays responsive while the query is in
progress; you can pause or cancel an incomplete query at any time, and you
can also edit incompletely-loaded tables without having to wait for the
query to finish.
You can copy and paste rows between tables; when you perform the paste
operation, you can specify how to map the source table's columns to the
destination's. You can also save the contents of a table to a CSV file,
which you can import into Microsoft Excel or other spreadsheet programs,
and you can import CSV files into a table; when you perform the import, you
can specify how to map the file's columns to the table's.
You can create snapshots of tables or sets of tables, and you can save
those snapshots to disk. Snapshots act like read-only databases; you can
browse them just like a regular JDBC connection.
You can compare two databases, and generate SQL scripts that will transform
one database into the other (as long as they have identical table
structures), or generate scripts that will re-create a schema from scratch.
You can use these scripts as a platform-neutral way of copying tables from
one database to another, assuming that the target database has a facility
to run SQL scripts.
You can also open a SQL window where you can interactively type SQL
statements, rather like a terminal, except the window is also a text editor
so you can easily tweak your statements and rerun them, and save them to
disk so you can reuse them later.
There's also an embedded JavaScript interpreter, which you can use to load
tables, edit their contents, and query their meta-data; the JavaScript
interpreter allows you to access the same underlying data objects that are
displayed on the screen, so you can load tables interactively, then
manipulate their data using JavaScript procedures, and so on. You can also
run SQL commands from JavaScript code, using the provided embedding of the
java.sql.Statement
, java.sql.PreparedStatement
,
and java.sql.CallableStatement
interfaces. See here for details.
Compatibility: JDBC Navigator supports
DB2,
Derby,
Microsoft SQL Server,
MySQL,
Oracle,
PostgreSQL,
SmallSQL,
and Transbase.
Project Status
The latest release is build 2738, dated 7 March 2023.
Download: jdbcnav.jar
If you're interested in what's been going on with JDBC Navigator, see the
project history.
Additionally...
In addition to jdbcnav.jar
, you will need JDBC drivers for your databases. These
should be provided by your RDBMS vendor. For Oracle, the file to look for
is called classes12.zip
, classes12.jar
, or
ojdbc14.jar
.
Did I mention JDBC Navigator is a Java application? You will need Java to
run this thing; Sun's JDK or JRE,
version 1.7 or later, will do the job.
How to use: put jdbcnav.jar
wherever you like; cd to that
directory and say
java -jar jdbcnav.jar
Alternatively, you may also be able to launch JDBC Navigator by simply
double-clicking the jdbcnav.jar icon in the Windows Explorer or Macintosh
Finder.
Before opening any database connections, you will have to tell JDBC
Navigator how to find your JDBC drivers. To do this, select
Preferences
from the Navigator
menu, and add the
drivers' zip
or jar
files to the Class
Path
list.
If you are accessing multiple databases, and some of those databases are
different versions of one vendor's product (e.g., you want to access an
Oracle 8 and an Oracle 9 database at the same time), you may experience
problems if you try to put each of the applicable versions of that vendor's
JDBC driver in the classpath at the same time. To avoid these problems,
always use the most recent version of that vendor's JDBC driver in such
cases. (Again assuming you want to access Oracle 8 and Oracle 9 databases
simultaneously, don't use the Oracle 8 and Oracle 9 drivers at the same
time; the Oracle 9 driver knows how to talk to Oracle 8 databases, so just
use that one, and don't put the Oracle 8 driver in the classpath.)
You can download the source code from Github (https://github.com/thomasokken/jdbcnav) and tinker with it yourself if you wish.
Questions? Comments? Suggestions? Bug reports? Contact me, Thomas Okken, at
thomasokken@gmail.com.
Quick Tour
The following screen shots were taken while running JDBC Navigator under
Microsoft Windows. If you run it under a different operating system, the
look and feel of the user interface will be different (but the
functionality, and the user interface layout, will be the same).
You can select which look and feel you want to use by selecting
Preferences
from the Navigator
menu, and then
selecting the desired option from the menu in the top left corner of the
dialog.
Opening a connection, browsing tables, manipulating table data using
the embedded JavaScript interpreter
Detailed information about table structure and primary and foreign
keys
Generating SQL scripts to update or rebuild a set of tables
Copying and pasting rows between tables, reshuffling columns as
desired
Importing/exporting from/to CSV files
Finding rows that reference, or are referenced by, another row