I’m trying to run a BaseX Server and have it read data from a different directory than the default.  So I add the flag -c"SET DBPATH C:/Working/BaseXData;info".  To make sure that no previous settings are corrupting it I renamed the old .basex file to something else so it wouldn’t find it.   The info shows me the Database Path is correct.

 

C:\Working>C:\basex\bin\basexserver -p1985 -c"SET DBPATH C:/Working/BaseXData;info"

Saving properties in "C:\Users\jklassen/.basex"...

BaseX 6.6 [Server]

Server was started.

General Information

Database Path: C:/Working/BaseXData

Used Main Memory: 1154 KB

 

Database Creation

Whitespace Chopping: ON

Entity Parsing: OFF

 

Indexes

Path Summary: ON

Text Index: ON

Attribute Index: ON

Full-Text Index: OFF

 

Upon running basexserver a new .basex file is created.  The contents of my .basex file are

 

# Property File.

# You can set additional options at the end of the file.

 

DBPATH = C:\Users\jklassen/BaseXData

JAXRXPATH = C:\Users\jklassen/BaseXWeb

LANG = English

LANGKEYS = false

HOST = localhost

PORT = 1984

SERVERPORT = 1984

JAXRXPORT = 8984

TIMEOUT = 0

 

# User defined section

 

You can see that it created the file using the default windows directory. (I’m on windows 7).  I would be fine with it except for the fact that no matter what I specify in SET DBPATH the server is only accessing the default C:\Users\jklassen/BaseXData folder.  It does correctly initiate on the 1985 port.

 

If I change the file to read

 

# Property File.

# You can set additional options at the end of the file.

 

DBPATH = C:/Working/BaseXData

JAXRXPATH = C:\Users\jklassen/BaseXWeb

LANG = English

LANGKEYS = false

HOST = localhost

PORT = 1984

SERVERPORT = 1984

JAXRXPORT = 8984

TIMEOUT = 0

 

# User defined section

 

It works and finds the data in the right directory.   If I add the flag -c"SET DBPATH C:/FakeDirectory/BaseXData;info" it still works, even though the info shows the new database path, leading me to believe it’s ignoring the command.

 

The problem for me lies in the fact that I want two BaseX Servers running on the same machine. One on port 1984 for my backend app and one on port 1985 for my web app and I’d like them to use separate file directories.  Is SET DBPATH the right way to accomplish this?

 

________________________________

Jason Klassen

Protegra
   Business. Technology. Solutions.

Office:   204-272-2290
www.protegra.com