代码之家  ›  专栏  ›  技术社区  ›  Kieron

有没有办法在.Net中打开ZopeDB?

  •  1
  • Kieron  · 技术社区  · 16 年前

    谢谢,

    2 回复  |  直到 16 年前
        1
  •  2
  •   Lee Joramo    16 年前

    我是一个Plone网络开发人员,Jason Coombs是正确的。ZODB是一个对象数据库,包含python对象。这些对象可以是python代码、数据、元数据等,并存储在层次结构中。这与SQL表和存储过程的世界截然不同(NoSQL的发展表明,Zope并不是唯一一个这样做的人。)此外,由于这些是复杂的python对象,您确实希望使用创建它的python版本在ZODB上工作,或者确保您可以进行适当的迁移。我不认为你能用铁蟒做到这一点。

    如果不知道你想从ZODB中得到什么,就很难给出具体的建议。正如Jason所建议的,您可能只需要尝试WebDAV/FTP访问ZODB。这允许拉出页面或图像文件的基本内容,但是您可能会丢失许多更复杂的数据(例如,事件页面可能没有包含所有的datetime数据),并且您将丢失许多元数据。

    以下是某人如何从Plone迁移到Word press:

    http://www.len.ro/2008/10/plone-to-wordpress-migration/

        2
  •  2
  •   Jason R. Coombs    16 年前

    首先要注意的是Zope对象数据库(ZODB)在其层次结构中存储Python对象。因此,在Python语言之外,从ZODB中获取“数据”通常是没有意义的。所以在某种程度上,这实际上取决于你想要获取的数据类型。

    如果您要查找的数据是文件(如HTML、文档等),那么您可以使用Zope服务器,打开WebDAV或FTP之类的功能,并以这种方式提取文件。

    然而,按照您所描述的方式,我怀疑您所寻找的数据是更细粒度的数据元素(如数字、帐户等)。在这种情况下,您几乎肯定需要某种Python来提取数据并将其转换为适合导入sqlserver的格式。通过使用IronPython,您可能可以留在.NET世界中,但老实说,除非您能够找到IronPython与ZODB库一起工作的证据,否则我将避免这样做。

    相反,我建议您制作一个Zope安装和Zope实例的副本(这样您就不会破坏正在运行的系统),然后使用Zope使用的Python版本(通常一起安装)来装载数据库,并将其操作为合适的格式。您甚至可以使用类似PyODBC的东西连接到SQL Server数据库来注入数据,或者可以使用punt、导出为某种文件格式,并使用您更熟悉的工具来导入数据。

    this article 帮助我与ZODB交互并理解其结构。

    祝你好运!