我需要升级基于 Zope 的旧系统,我需要能够将数据导出到 SQL Server 之类的东西...有谁知道我可以在 .NET 中打开 Zope DB 或直接将其导出到 SQL Server 的方法吗?
谢谢,基龙
我需要升级基于 Zope 的旧系统,我需要能够将数据导出到 SQL Server 之类的东西...有谁知道我可以在 .NET 中打开 Zope DB 或直接将其导出到 SQL Server 的方法吗?
谢谢,基龙
首先要注意的是 Zope 对象数据库 (ZODB) 在其层次结构中存储 Python 对象。因此,从 ZODB 中获取“数据”通常在 Python 语言之外没有意义。所以在某种程度上,这真的取决于你想要得到的数据类型。
如果您要查找的数据是文件(例如 HTML、文档等),您可以建立一个 Zope 服务器并打开 WebDAV 或 FTP 之类的东西,然后以这种方式提取文件。
但是,按照您描述的方式,我怀疑您寻求的数据是更细粒度的数据元素(例如数字或帐户或类似的东西)。在这种情况下,您几乎肯定需要某种 Python 来提取数据并将其转换为适合导入 SQL Server 的某种格式。您可能可以通过使用 IronPython 留在 .NET 世界中,但老实说,我会避免这种情况,除非您能找到 IronPython 与 ZODB 库一起使用的证据。
相反,我建议复制您的 Zope 安装和 zope 实例(这样您就不会破坏正在运行的系统),然后使用 Zope 使用的 Python 版本(通常一起安装)来挂载数据库,并将其操作到合适的格式。您甚至可以使用 PyODBC 之类的工具连接到 SQL Server 数据库以注入数据——或者您可以平底船、导出为某种文件格式,并使用您更熟悉的工具来导入数据。
我已经有一段时间没有与 ZODB 进行交互了,但我记得这篇文章有助于我与 ZODB 进行交互并了解它的结构。
祝你好运!
我是一名 Plone 网络开发人员,Jason Coombs 是正确的。ZODB 是一个对象数据库,包含 python 对象。这些对象可以是 python 代码、数据、元数据等,并存储在层次结构中。这与 SQL 表和存储过程的世界非常不同。(不断增长的 NoSQL 运动表明,Zope 并不是唯一这样做的人。)此外,由于这些是复杂的 Python 对象,您真的希望使用创建它的 Python 版本在 ZODB 上工作,或者确保您可以进行适当的迁移。我认为您无法使用 IronPython 做到这一点。
在不知道你想从 ZODB 中得到什么的情况下,很难给出具体的建议。正如 Jason 所建议的,尝试对 ZODB 的 WebDAV/FTP 访问可能就是您所需要的。这允许提取页面或图像文件的基本内容,但您可能会丢失许多更复杂的数据(例如,事件页面可能未包含其所有日期时间数据)并且您将丢失大部分元数据-数据。
以下是有人从 Plone 迁移到 Word press 的方式:
http://www.len.ro/2008/10/plone-to-wordpress-migration/
有许多关于从一个 Plone 版本迁移到另一个版本的文章。其中一些信息可能对您有用。stackoverflow 不允许我发布更多链接,但可以搜索:
“当克隆迁移失败时,仅进行内容迁移”
“克隆产品内容迁移”