The feedreader RSSOwl saves all articles in a database rssowl.db. As far as I read, it's a "db40" database.

Size of my rssowl.db is at the moment 3.9 GB. I also got another database with size of around 2 GB, but it might be corrupt.

Now I want to get all articles out of these databases. The format doesn't matter, as long as it is an open/free format (XML, HTML, TXT, SQL database, …).

How could I accomplish this?

I'm not savvy with databases, but I'm willing to dig into it. I'd image that I need to open the db40 database (how?) and "map" the tables to an export format, e.g. a SQLite database (how? by writing code?).


As far as I can see, some of the options available to you are:

  1. Object Manager:

    The db4o Object Manager is a GUI tool to browse and query the contents of any db4o database file. Object Manager currently provides the following features:

    • Powerful ad-hoc queries
    • Efficient handling of large data sets
    • Table view for quick scrolling through large data sets
    • Tree view for drilling down through an object graph
    • Access to internal database information including stored classes, data size and indexes
    • Management functions including Backup and Defragment


  2. DataWander:

    DataWander can migrate data from relational database (Oracle 10g XE) to object database (db4).

    DataWander can migrate data from object database (db4o) to relational database (Oracle 10g XE) too.


  3. db4o Replication System (dRS):

    The db4o Replication System (dRS), powered by Hibernate, enables users to build applications that synchronize objects bi-directionally between distributed instances of db4o's leading open source object database and all common relational databases such as Oracle or MySQL. dRS makes db4o's native object persistence architecture available to all Java and .NET developers while staying fully data compatible with existing IT environments using relational database technology.

  4. SqlExport batch file included with db4o:

    JDBC can be used to backup db4o data and to migrate data between db4o versions with different file formats.

    In addition, classes can be generated from existing SQL databases and existing data can be imported into db4o.

As a last resort you can always write your own Java code to export to XML or whatever format you want. Further queries related to this can of course be posted on Stack Overflow or the Versant forum.

  • Thanks for your great answer, Karan! So far I tested 1 and 2. I could make your first suggestion (db4o-om) run, but this tool doesn't seem to export ("Backup") to any other formats than db40. But I could use it to view the data, which is nice, because now I know for sure that the data is in there :) The second suggestion seems to require an Oracle database (?), which I have no experience with yet. Seems to be a proprietary solution :/ I still don't understand how 3 and 4 work. I guess I'd need to dig into it more. – unor Jan 18 '13 at 1:56
  • "The second suggestion seems to require an Oracle database" - Oracle XE (Express Edition) seems to be free and I'm sure you'll find tons of tools to deal with Oracle databases as compared to db4o, but yes, it will be a 2-step process (db4o > Oracle > XML/TXT...) Still, you did mention SQL database as one of the accepted output formats, and Oracle is an industry standard DB. – Karan Jan 18 '13 at 6:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.