It seems that derby can't find DB locating in non derby.system.home location.
For an ODBC connection using DB2, this is true. When you catalog a db in DB2, the database name cannot have a path in it. Since a database name can't include a path, the only place the Derby server is going to be able to find the database is in its home directory, derby.system.home.
This isn't a problem for Java connections because both Java clients (JCC and the Derby Network Client) allow a path to be specified as part of the URL. But since there's no way to do that with the DB2 ODBC client (so far as I know), all ODBC databases have to exist within the derby.system.home directory (or, if that property isn't set, within the directory in which the server is started).
If I specify derby.system.home=D:/Projects/warehouse when starting up NS, connection test passed in ODBC-manager. [ snip ] furthermore there can be
two working DBs in different directories.
Again, I think this is a limitation that comes from the client, not from Derby itself. Thus it is not currently possible to have a single server access two databases in different directories if the DB2 ODBC client is being used.
If you really need that functionality, I think you will have to start two Derby servers on different ports with different home directories, and then catalog one database per server. It's not ideal, but I think it should work...
Army
