Frage

Ich brauche ein altes System auf Zope basiert zu aktualisieren, muss ich in der Lage sein, die Daten zu so etwas wie SQL Server zu exportieren ... Kennt jemand eine Weise, die ich die Zope DB in .NET öffnen können oder direkt exportieren SQL Server?

Danke, Kieron

War es hilfreich?

Lösung

Ich bin ein Plone Web-Entwickler, und Jason Coombs ist richtig. Die ZODB ist eine Objektdatenbank und enthält Python-Objekte. Diese Objekte können Python-Code, Daten, Meta-Daten, usw. und sind in einer Hierarchie gespeichert. Das ist sehr verschieden von der Welt der SQL-Tabellen und Stored Procedures. (Die wachsende NoSQL Bewegung, zeigt, dass Zope ist das nicht nur ein dies zu tun.) Darüber hinaus, da diese komplexe Python Objekte, die Sie wollen zu arbeiten, auf der ZODB mit der Version von Python wirklich erstellt wurde, oder stellen Sie sicher, dass Sie kann eine richtige Wanderung machen. Ich glaube nicht, dass Sie in der Lage sein werden, dies mit Ironpython zu tun.

Ohne zu wissen, was Sie versuchen, die ZODB zu bekommen, ist es schwer, spezifische Ratschläge zu geben. Als Jason vorgeschlagen, versuchen, WebDAV / FTP Zugriff auf die ZODB könnte alles sein, was Sie brauchen. Dies ermöglicht die grundlegenden Inhalte der Seiten, zu ziehen, oder Bilddateien, aber Sie können viel von den komplexeren Daten (zum Beispiel ein Ereignis Seite kann nicht alle seine Datetime-Daten enthalten) verlieren und Sie werden viel von der Meta verlieren -Daten.

Hier ist, wie jemand von Plone in Word drücken migriert:

http://www.len.ro/2008/ 10 / plone-to-Wordpress-Migration /

Es gibt eine Reihe von Artikeln über die von einer Plone Version auf eine andere migrieren. Einige dieser Informationen vielleicht nützlich für Sie. Stackoverflow ist nicht erlaubt mir mehr Links zu posten, aber die Suche nach:

"wenn die plone Migration nicht nur Content-Migration zu tun"

"Plone Produkt ContentMigration"

Andere Tipps

Die erste wichtige Sache zu beachten ist, dass die Zope Object Database (ZODB) speichert Python in seiner Hierarchie-Objekte. Daher wird immer „Daten“ aus der ZODB im Allgemeinen keinen Sinn außerhalb der Python-Sprache zu machen. Also zu einem gewissen Grad, es hängt wirklich von der Art der Daten, die Sie erhalten möchten.

Wenn die Daten die Sie suchen ist, um Dateien (wie zB HTML, Dokumenten, etc.), können Sie in der Lage sein, einen Zope Server aufstehen und schalten Sie so etwas wie WebDAV oder FTP und entpacken Sie die Dateien auf diese Weise.

So wie du es beschrieben hast, aber ich vermute, die Daten, die Sie suchen mehr feinkörnigen Datenelemente (wie Zahlen oder Konten oder so etwas). In diesem Fall werden Sie mit ziemlicher Sicherheit brauchen Python irgendwelcher Art, die Daten zu extrahieren und sie in einem gewissen Format in SQL Server geeignet zu importieren verwandeln. Sie könnten durch die Verwendung von Ironpython in der .NET-Welt bleiben können, aber um ehrlich zu sein, würde ich das vermeiden, wenn Sie Beweise finden, dass Ironpython mit der ZODB Bibliothek funktioniert.

Stattdessen schlage ich vor, eine Kopie Ihrer Zope-Installation und Zope-Instanz zu machen (so dass Sie das laufende System nicht brechen), und verwenden Sie dann die Version von Python von Zope (oft zusammen installiert ist), die Datenbank bereitzustellen, und manipulieren, um sie in ein geeignetes Format. Man könnte sogar so etwas wie Pyodbc verwenden, um die SQL Server-Datenbank zu verbinden, die Daten zu injizieren -. Oder Sie können den Export in einige Dateiformaten Punt und Verwendung Werkzeuge, die Sie besser vertraut sind mit den Daten zu importieren

Es ist schon eine Weile her, seit ich habe mit einem ZODB interagierten, aber ich erinnere mich diesen Artikel ist maßgeblich an mich interact mit der ZODB zu helfen und seine Struktur zu verstehen.

Viel Glück!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top