|JimmyG | Blog | Book | Life | Projects | Contact|
Posted: Tue 12th Feb 2008, 1:30am
Tags: debian, software releases, talks and conferences, xml
At Geek Night 5 I bumped into an old friend of mine John Snelson who I haven't seen for ages. He's now working for Oracle on DB XML, a project he's been involved with for a long time since the Sleepycat days. I promised to have a play with the Python bindings so for anyone following in my footsteps, here's how you do it, it's a lot easier than it appears from the docs and forum posts...
Download the latest version from the link below by clicking the "Free Download" button in the top right: http://www.oracle.com/technology/products/berkeley-db/xml/index.html
The dbxml-2.3.10.tar.gz file is about 30.9Mb. You'll also need a standard GNU toolchain, I happen to have the following installed although you may not need them all:
sudo apt-get install build-essential make libc6-dev gcc g++ patch zlib1g-dev libncurses5-dev libssl-dev flex bison sharutils subversion python gettext autoconf2.13 pkg-config
Next extract the source and build it:
tar zxfv dbxml-2.3.10.tar.gz cd dbxml-2.3.10 sh buildall.sh
This takes quite a while (about an hour on my Thinkpad R50e laptop) but compiles without any problems producing an install directory with bin, docs, lib and include directories containing everything you need.
Now for the Python bindings which are equally as easy because the main distribution also comes with a compatible source tree for the Python bsddb library. Compile and install it all like this:
cd dbxml/src/python python setup.py build python setup.py install cd bsddb3-4.5.0 python setup.dbxml.py build python setup.dbxml.py install
If you were to have any problems the README files contain plenty of tips. To test the Python bindings you simply need to add the library directory to your LD_LIBRARY_PATH since the original buildall.sh script is polite enough not to actually install the files to the system locations (although there is an option to have it do this). In my case this meant:
Now you can test the example:
cd ../../../../examples/python python examples.py test
Everything should work perfectly.
Now that I've got the software compiled I need to start using it ;-). Here were some links I found were a useful introduction to native XML databases but the links on the Oracle page linked to earlier are no doubt worth a read too.
http://www-128.ibm.com/developerworks/xml/library/x-mxd4.html http://www.rpbourret.com/xml/XMLAndDatabases.htm http://www.w3.org/TR/xquery-use-cases/ http://www.regdeveloper.co.uk/2007/07/18/berkeley_db_xml/