This section describes additional configuration which must be
done to allow TOPCAT to access SQL-compatible relational databases
for reading (see Section 3.1.5) or
writing (see Section 3.2.6) tables.
If you don't need to talk to SQL-type databases,
you can ignore the rest of this section.
The steps described here are the standard ones
for configuring JDBC (which sort-of stands for Java Database Connectivity),
described in more detail on
Sun's JDBC web page.
To use TOPCAT with SQL-compatible databases you must:
- Have access to an SQL-compatible database locally or over the network
- Have a JDBC driver appropriate for that database
- Install this driver for use with TOPCAT
- Know the format the driver uses for URLs to access database tables
- Have appropriate privileges on the database to perform the
desired operations
Installing the driver consists of two steps:
- Set the
jdbc.drivers
system property to the name of the
driver class as described in Section 7.2.3
- Ensure that the classpath you are using includes this driver class
as described in Section 7.2.1
These steps are all standard for use of the
JDBC
system.
To the author's knowledge, TOPCAT has so far successfully been used
with the following RDBMSs and corresponding JDBC drivers:
-
MySQL
- MySQL 3.23.55 on Linux has been tested with the
Connector/J
driver version 3.0.8 and seems to work, though tables with very many
(hundreds of) columns cannot be written owing to SQL statement
length restrictions.
Note there is known to be a column metadata bug in version 3.0.6 of the
driver which can cause a ClassCastException error when tables are written.
-
PostgreSQL
- PostgreSQL 7.4.1 apparently works with
its own driver.
Note the performance of this driver appears to be rather poor,
at least for writing tables.
Other RDBMSs and drivers may or may not work - please let us know the
results of any experiments you carry out.
Sun maintain a list of JDBC drivers for various databases; it can be found at
http://servlet.java.sun.com/products/jdbc/drivers.
Here are a couple of command lines to start up TOPCAT using
databases known to work.
-
PostgreSQL
-
java -classpath topcat-full.jar:pg73jdbc3.jar \
-Djdbc.drivers=org.postgresql.Driver \
uk.ac.starlink.topcat.Driver
-
MySQL
-
java -classpath topcat-full.jar:mysql-connector-java-3.0.8-bin.jar \
-Djdbc.drivers=com.mysql.jdbc.Driver \
uk.ac.starlink.topcat.Driver