Pregunta

Tengo que actualizar un viejo sistema basado en Zope, tengo que ser capaz de exportar los datos a algo parecido a SQL Server ... ¿alguien sabe de alguna manera de abrir el Zope DB en .NET o directamente exportarlo a SQL Server?

Gracias, Kieron

¿Fue útil?

Solución

Soy un desarrollador web Plone, y Jason Coombs es correcta. El ZODB es un objeto de base de datos, y contiene objetos de Python. Estos objetos pueden ser de código Python, datos, metadatos, etc., y se almacenan en una jerarquía. Esto es muy diferente del mundo de las tablas SQL y procedimientos almacenados. (El movimiento NoSQL crecimiento, muestra que Zope no es el único que hace esto.) Por otra parte, ya que estos son los objetos de Python complejos que realmente quiere estar trabajando en la ZODB con la versión de Python que fue creada con, o asegúrese de que usted puede hacer una migración correcta. No creo que usted será capaz de hacer esto con IronPython.

Sin saber lo que está tratando de salir de la ZODB, es difícil dar consejos específicos. Como sugirió Jason, tratando de acceso WebDAV / FTP al ZODB podría ser todo lo que necesita. Esto permite extraer el contenido básico de páginas o archivos de imagen, pero puede perder gran parte de los datos más complejos (por ejemplo, una página del evento no puede tener todos sus datos de fecha y hora incluidas) y perderá gran parte de la meta -Los datos.

Aquí es cómo alguien emigró de Plone a la Palabra de prensa:

http://www.len.ro/2008/ 10 / plone-a-wordpress-migración /

Hay una serie de artículos acerca de la migración de una versión a otra Plone. Parte de esta información puede resultar útil para usted. stackoverflow no me permite publicar más enlaces pero busco:

"cuando la migración Plone no solamente haciendo el traspaso de contenido"

"Plone ContentMigration producto"

Otros consejos

La primera cosa importante a destacar es que la base de datos de objetos de Zope (ZODB) almacena los objetos de Python en su jerarquía. Por lo tanto, obtener "datos" fuera de la ZODB general no tiene sentido fuera del lenguaje Python. Por lo tanto, en cierta medida, lo que realmente depende del tipo de datos que desea salir.

Si los datos que está buscando es archivos (como HTML, documentos, etc.), es posible que pueda ponerse de pie un servidor Zope y convertir en algo como WebDAV o FTP y extraer los archivos de esa manera.

La forma en que has descrito, sin embargo, sospecho que los datos que buscas está más elementos de datos de grano fino (como números o cuentas o algo por el estilo). En ese caso, es casi seguro que necesitará algún tipo de Python para extraer los datos y transformarla en un formato adecuado para importar en SQL Server. Usted puede ser capaz de permanecer en el interior del mundo .NET mediante IronPython, pero para ser honesto, yo evitaría que a menos que se puede encontrar evidencia de que IronPython trabaja con la biblioteca ZODB.

En lugar de ello, sugiero hacer una copia de la instalación de Zope y la instancia zope (para que no se rompa el sistema en funcionamiento), y luego usar la versión de Python utilizado por Zope (a menudo instalados juntos) para montar la base de datos, y manipularla en un formato adecuado. Puede ser que incluso usar algo como pyodbc para conectarse a la base de datos de SQL Server para inyectar los datos -. O puede despejar, exportar a un formato de archivo, y el uso de herramientas que esté más familiarizado con la importación de los datos

Ha sido un tiempo desde que he interactuado con un ZODB, pero recuerdo este artículo fue instrumental en ayudar a interactuar con el ZODB y comprender su estructura.

Buena suerte!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top