Thread: Detecting presence of database through JDBC?

Detecting presence of database through JDBC?

From
Steve Wampler
Date:
Is there a way to determine whether or not a particular database
exists programmatically throught JDBC?  I was expecting an
exception to be thrown if the DriverManager.getConnection(url, user, pwd)
method cannot complete, but instead I get a "FATAL" error that
doesn't seem to be catchable.

(I'd like the program to automatically create a database if it doesn't
yet exist and then populate it with the tables that are needed.  Handling
the tables is easy, but I haven't found a way around the test for the
database yet...)

Thanks for any help!
Steve
--
Steve Wampler-  SOLIS Project, National Solar Observatory
swampler@noao.edu


Re: Detecting presence of database through JDBC?

From
Peter Mount
Date:
On Tue, 16 May 2000, Steve Wampler wrote:

> 
> Is there a way to determine whether or not a particular database
> exists programmatically throught JDBC?  I was expecting an
> exception to be thrown if the DriverManager.getConnection(url, user, pwd)
> method cannot complete, but instead I get a "FATAL" error that
> doesn't seem to be catchable.

The easiest way is to connect to the template1 database, then query the
system tables for the database. This is exactly how PSQL implements the -l
parameter.

PS: In standard JDBC, there is no way of geting a list of databases on a
particular server.

Peter

> (I'd like the program to automatically create a database if it doesn't
> yet exist and then populate it with the tables that are needed.  Handling
> the tables is easy, but I haven't found a way around the test for the
> database yet...)
> 
> Thanks for any help!
> Steve
> --
> Steve Wampler-  SOLIS Project, National Solar Observatory
> swampler@noao.edu
> 

--      Peter T Mount peter@retep.org.uk     Main Homepage: http://www.retep.org.uk
PostgreSQL JDBC Faq: http://www.retep.org.uk/postgresJava PDF Generator: http://www.retep.org.uk/pdf