James Gardner: Home > Blog > 2008 > Oracle DB XML (was Sleepycat)

Oracle DB XML (was Sleepycat)

Posted:2008-02-12 01:30
Tags:Software Releases, Talks and Conferences, Debian, 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:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/james/Desktop/dbxml-2.3.10/install/lib

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/

Comments

Pages tagged "polite"

Posted:2008-02-12 06:48

[...] bookmarks tagged polite Oracle DB XML (was Sleepycat) saved by 3 others     ikrystal bookmarked on 02/11/08 | [...] :URL: http://www.blogbookmarker.com/tags/polite

John Snelson

Posted:2008-02-12 18:15

Hey James,

Good to see you've taken a look at the Python bindings for DB XML. Let me know your impressions. Oh, and thanks for the link love ;-).

John :URL: http://snelson.org.uk/john/

(view source)

James Gardner: Home > Blog > 2008 > Oracle DB XML (was Sleepycat)