GSoC: Add support for importing tables from LibreOffice Base to Kexi [was: The results of your email commands]

Jaroslaw Staniek staniek at kde.org
Thu Feb 20 00:32:12 GMT 2014


On 19 February 2014 22:21, Jayesh Hathila <sharma.jayesh52 at gmail.com> wrote:
> Hi,
> ( In  addition to my previous mail )
> I am attaching perl script which unzips the .odb format.The script will
> create a folder with the same name as .odb file except extension (e.g
> file.odb converts to file folder).After unzipping till now I have been able
> to get the query  about tables in file named script in
> /file/database/script path which can be directly used in kexi.Please have a
> look at the code and if possible reply any error you found in the approach .


This is a good and needed step in analyzing the odb format.

In ODF filters development I've been using such an 'unxml' script:

------8x-----------
#!/bin/bash
unzip -o "$1" || exit 1
for f in `find . -name \*.xml* -o -name .rels | grep -v -e "\.svn$" -e
"\.svn/"` ; do
    xmllint --format "$f" --output "$f"
done
------8x-----------

In addition to uncompressing it reformats the xml files to make them
human-readable.

In the actual code

PS: Sample .odb databases are available eg at
http://www.floppybunny.org/robin/web/virtualclassroom/chap8/libreoffice_base.html.

If you look at content.xml file, it contains table/column definitions.
The database/script file you're mentioning contains HSQLDB or other
backend-specific SQL (yes, there's no respected standard). I am
guessing the xml is easier to parse than the specific SQL.

PS2: In the actual C++ implementation, KoOdfReadStore class from
calligra libs can be used to read contents of the .odb.




-- 
regards / pozdrawiam, Jaroslaw Staniek
 Kexi & Calligra & KDE | http://calligra.org/kexi | http://kde.org
 Qt for Tizen | http://qt-project.org/wiki/Tizen
 Qt Certified Specialist | http://www.linkedin.com/in/jstaniek



More information about the calligra-devel mailing list