If you have the BasicDatabase instance of the database you want to
know the name of, you can do this:
BasicDatabase db;
//this gives the whole path
String databaseName =
org.apache.derby.iapi.services.monitor.Monitor.getMonitor().getServiceName(db);
//if you only want the name, remove the path
databaseName = databaseName.substring(databaseName.lastIndexOf("/") + 1);
This should be "safe"... :)
Ole Gunnar
Siterer Nuno Carvalho <[EMAIL PROTECTED]>:
Hi all,
thanks for all the answers!
I'm working inside the derby engine and I found a way to do this. I
found that the BasicDatabase.java receives some properties when its
booted and one of them (derby.__rt.serviceDirectory) has the full path
of the database in the directory service, so I get the database name
from it.
Can you tell me if this is save? Is there a more clean way to get the
database name in the source code?
Thanks for all your help!
Cheers,
nuno
On Jul 26, 2007, at 1:35 , Dag H. Wanvik wrote:
Nuno Carvalho <[EMAIL PROTECTED]> writes:
Hi all,
I need to list the existing databases of derby. Can someone help me
on this? Is there a way to query the list of available created
databases or is this information is this information available inside
The databases are booted individually inside a Derby system. The
databases are essentially self contained. Even inspecting the file
system under the default location ${derby.system.home} doesn't
necessarily find all databases created, since they may be created and
accessed using explicit paths. It would be possible to list databases
*booted* in the present Derby system, but as far as I know there is no
such functionality.
Dag
--
Nuno Carvalho
University of Lisbon, Portugal
http://lasige.di.fc.ul.pt/~ncarvalho