如何从 RSSOwl 数据库 (db40) 中获取文章?

如何从 RSSOwl 数据库 (db40) 中获取文章?

提要阅读器RSSOwl将所有文章保存在数据库中rssowl.db。据我所知,这是一个“db40“ 数据库。

rssowl.db我目前的大小为 3.9 GB。我还有另一个大小约为 2 GB 的数据库,但它可能已损坏。

现在我想从这些数据库中获取所有文章。格式无关紧要,只要是开放/自由格式(XML、HTML、TXT、SQL 数据库等)。

我怎样才能做到这一点?

我对数据库不太了解,但我愿意深入研究。我认为我需要打开 db40 数据库(怎么做?)并将表“映射”为导出格式,例如 SQLite 数据库(怎么做?通过编写代码?)。

答案1

据我所知,您可以选择的一些选项包括:

  1. 对象管理器

    db4o 对象管理器是一个 GUI 工具,用于浏览和查询任何 db4o 数据库文件的内容。对象管理器当前提供以下功能:

    • 强大的即席查询
    • 高效处理大型数据集
    • 表格视图可快速滚动浏览大型数据集
    • 用于深入查看对象图的树视图
    • 访问内部数据库信息,包括存储的类别、数据大小和索引
    • 管理功能包括备份和碎片整理

    1

  2. 数据漫游者

    DataWander 可以将数据从关系数据库(Oracle 10g XE)迁移到对象数据库(db4)。

    DataWander 也可以将数据从对象数据库(db4o)迁移到关系数据库(Oracle 10g XE)。

    2

  3. db4o 复制系统 (dRS)

    由 Hibernate 提供支持的 db4o 复制系统 (dRS) 使用户能够构建在 db4o 领先的开源对象数据库的分布式实例和所有常见的关系数据库(如 Oracle 或 MySQL)之间双向同步对象的应用程序。dRS 使所有 Java 和 .NET 开发人员都可以使用 db4o 的本机对象持久性体系结构,同时保持与使用关系数据库技术的现有 IT 环境完全数据兼容。

  4. db4o 附带的 SqlExport 批处理文件

    JDBC 可用于备份 db4o 数据,以及在不同文件格式的 db4o 版本之间迁移数据。

    此外,可以从现有的 SQL 数据库生成类,并将现有数据导入 db4o。

作为最后的手段,你总是可以自己写导出为 XML 的 Java 代码或任何你想要的格式。当然,与此相关的进一步问题可以发布在堆栈溢出或 Versant 论坛。

答案2

我回答得有点晚了,但答案在这里。多年来,我的文件档案中一直有一个 300mb 的 RSSOwl 源数据库等待着我,我必须将其导出。我不想深入研究 Oracle/SQL 知识,所以我在 RSSOwl 中搜索了一下。

这只适用于小型数据库(已使用 300mb 数据库进行测试,但应该适用于 500mb 的数据库,稍后您将知道原因)。您必须做的非常简单:

  1. 创建一个新的 ”新闻筛选“在 RSSOwl 中。
  2. 标记新闻过滤器以进行过滤你的所有新闻所有文件夹。此过滤器返回的项目数必须是所有新闻的总和。
  3. 单击新过滤器。右侧面板上(因此,这取决于您如何配置 RSSOwl GUI)将显示所有新闻。
  4. Ctrl+A选择出现的所有新闻。
  5. 全部选择完成后,在 RSSOwl 菜单中,选择文件 > 另存为然后选择 HTML 文件的目标。

这样,我的所有 RSS 源都导出了。请注意,与数据库相比,文件的大小很小,因为我将 300mb db4o 数据库缩减到大约 60mb HTML 文本,但对于现代浏览器来说,这个 HTML 文件大小非常大(旁注:我发现旧浏览器比现代浏览器更能管理大尺寸 HTML 文件)。使用好的文本编辑器或脚本来探索数据。

此外,我最初无法导出 HTML 文件,因为 RSSOwl 会因 Java内存堆错误。我搜索了一下,发现执行文件可执行文件位于,有一个RSSOwl配置文件文件。有一个参数 -XMS 和 -XMX。我不记得是哪一个了,但我从-Xm_192m-Xm_1024m

我无法再进一步,因为如果我选择 2048 或 4096 作为堆内存,RSSOwl 甚至无法打开。因此,1024 限制了您可以导出的数据库的大小。我猜如果您创建许多子过滤器来逐步导出所有提要,这将很容易绕过。

相关内容