Afkham Azeez wrote:
Hi Folks, Thanks for all the replies, Let me simplify my question:
I need to have my database and derby.properties file under different
directories, and the derby.system.home points to the directory which
contains the derby.properties file. And I need to use the relative
path of the DB since, the Database URL is hardcoded in an XML
file(I'm using an Object Relational Mapping). Is this achievable?
Unless I am misunderstanding something here: Yes, you can do that by
using a relative database url. The url must be relative to
${derby.system.home} (as long as you have this property set, which you
seem to have).
Here's another attempt to answer your original question, I hope it helps:
If I set the ${MY_PROJECT} environment variable to e.g.
/home/user/projects/myProj, and place the derby.properties file in the
directory ${MY_PROJECT}/conf, I start ij like this:
java -Dderby.system.home=${MY_PROJECT}/conf org.apache.derby.tools.ij
I then create a database as ${MY_PROJECT}/DATABASE by doing:
ij> connect 'jdbc:derby:../DATABASE;create=true';
--
John
On 2/2/06, Daniel John Debrunner <[EMAIL PROTECTED]> wrote:
Manjula G Kutty wrote:
Afkham Azeez wrote:
Hi Folks,
I have my derby.properties file in $MY_PROJECT/conf directory.
This is the directory pointed to by the derby.system.home
System property. But no my database is getting created under
$MY_PROJECT/conf e.g. as $MY_PROJECT/conf/DATABASE.
I need my database to be created as $MY_PROJECT/DATABASE. Is
there a property I can specify in the derby.properties file
which will specify the physical location of the Database?
This is a good candidate for a Derby FAQ.
Database names in Derby are more than a single word, they are URL
like in that they can include the URL path separator character
forward slash '/'.
A database name is either relative or absolute.
An absolute path corresponds to an absolute path on your file
system:
jdbc:derby:/home/fred/databases/projects/cdcollection
top level folder for the database is
/home/fred/databases/projects/cdcollection
jdbc:derby:d:/home/2006/accounts
top level folder for the database is d:\home\2006\accounts
A relative path is relative to the value of the system property
derby.system.home if it is set, otherwise relative the current
working directory of the java virtual machine.
All these examples are different ways to connect to the
cdcollection database described above, examples on windows would be
similar, including use of the forward slash.
derby.system.home=/home/fred/databases
jdbc:derby:projects/cdcollection
derby.system.home=/home/fred/databases/projects
jdbc:derby:cdcollection
current working directory = /home/fred
jdbc:derby:databases/projects/cdcollection
current working directory = /home/fred/databases/projects
jdbc:derby:cdcollection