Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Q. Migrating a JDS DB from Windows to Linux

0 views
Skip to first unread message

Brenton Camac

unread,
May 31, 2006, 11:18:46 PM5/31/06
to
I thought that because JDataStore was all Java, the process of migrating
a JDS database from windows to linux would be easy. But it isn't.
And so far, its impossible.

Here's the problem.
JDataStore keeps a record of the "A Log directory" - a fully qualified
and non-empty directory name - embedded in the database. Now if you try
to open a database on linux that was created on windows, JDS reports:

java.io.FileNotFoundException:
/home/XXX/C:\YYY\databases/webDB_LOGA_ANCHOR (No such file or directory)

where XXX is the linux directory that the JVM was launched from and
"C:\YYY\databases/webDB_LOGA_ANCHOR" is the where the jds log files
reside on windows.

Ofcourse, this won't work as there is no C:\..... on the linux host.

So I tried to clear out the A Log Directory value. But its wants
something specified there, contrary to what the JDS documentation states
that if the A Log Directory value is left blank, then the files are kept
in the same directory as the JDataStore file. Don't believe it! If you
change it to blank, then it does not change the field's value.

The end result is that JDS won't be able to open the database on the new
platform because it is wrong about the location of where to find the log
files.

Anyone ever tried to migrate a JDS database from windows to linux? and
in such a way as to retain the Transaction manager? (If turning off then
TX mgr is the answer to this, then there isn't much point in using JDS
as it ceases to be database at that point IMHO).

- Brenton

Steve

unread,
Jun 2, 2006, 1:33:13 AM6/2/06
to
I'm not at my work computer right now. But I can look into this tomorrow
some more.

I assume that when you originally created the database that you specified a
log directory. If you do not need or want the log files in a separate
directory, life is simpler if you don't set it.

I noticed that if you try to unset this from the JdsExplorer, it does not
take affect.

The ui might be ignoring a blank field settng. That's not good behavior.
It might work programatically if you are familiar with the
DataStoreConnection and TxManager components. After opening the
DataStoreConnection you can call getTxManager() and then try setting the log
dir property to null while the DataStoreConnection is still open. These are
the same components that the JdsExplorer is using.

If this does not work you can create a new jds database that does not have
the log dir explicitly set and then use the Tools |Copy Into Existing...
dialog to copy the old database into the new database. This should work,
but not an ideal solution.

-Steve

0 new messages