Pergunta

Eu preciso atualizar um sistema antigo baseado em Zope, eu preciso ser capaz de exportar os dados para algo como SQL Server ... Alguém sabe de uma maneira que eu posso abrir o Zope DB em .NET ou diretamente exportá-lo para o SQL Server?

Obrigado, Kieron

Foi útil?

Solução

Eu sou um desenvolvedor web Plone, e Jason Coombs está correto. O ZODB é um objeto de base de dados, e contém objectos pitão. Estes objectos podem ser python código, dados, meta-dados, etc, e são armazenados numa hierarquia. Isto é muito diferente do mundo de tabelas SQL e procedimentos armazenados. (O movimento NoSQL crescente, mostra que Zope não é o único a fazer isso.) Além disso, uma vez que estes são python complexo objetos que você realmente quer estar trabalhando no ZODB com a versão do python ele foi criado com, ou certifique-se de que você pode fazer uma migração adequada. Eu não acho que você vai ser capaz de fazer isso com IronPython.

Sem saber o que você está tentando sair do ZODB, é difícil dar conselhos específicos. Como Jason sugeriu, tentando WebDAV / acesso FTP para o ZODB pode ser tudo o que você precisa. Isto permite retirar o conteúdo básico de páginas ou arquivos de imagem, mas você pode perder grande parte dos dados mais complexos (por exemplo, uma página do evento pode não ter todos os seus dados de data e hora incluídos) e você vai perder muito do da meta -data.

Aqui está como alguém migrou do Plone à Palavra de imprensa:

http://www.len.ro/2008/ 10 / Plone-a-wordpress-migração /

Há uma série de artigos sobre a migração de uma versão Plone para outro. Algumas dessas informações talvez útil. stackoverflow não está permitindo-me para postar mais links, mas procurar:

"quando a migração plone não só fazer a migração de conteúdo"

"Plone produtos ContentMigration"

Outras dicas

A primeira coisa importante a se notar é que as lojas Zope objeto de banco de dados (ZODB) Python objetos em sua hierarquia. Portanto, recebendo "dados" fora do ZODB geralmente não faz fora sentido da linguagem Python. Então, de certa forma, isso realmente depende do tipo de dados que você quer sair.

Se os dados que você está procurando é arquivos (como HTML, documentos, etc), você pode ser capaz de se levantar um servidor Zope e transformar em algo como WebDAV ou FTP e extrair os arquivos dessa forma.

A maneira que você descreveu, no entanto, eu suspeito que os dados que você procura é mais elementos de dados de grão fino (como números ou contas ou algo assim). Nesse caso, você vai precisar quase de certeza Python de algum tipo para extrair os dados e transformá-lo em algum formato adequado para importação para SQL Server. Você pode ser capaz de ficar dentro do mundo do .NET usando IronPython, mas para ser honesto, eu evitaria que a menos que você pode encontrar evidências de que IronPython trabalha com a biblioteca ZODB.

Em vez disso, eu sugiro fazer uma cópia da sua instalação Zope e instância zope (para que você não quebrar o sistema em execução) e, em seguida, usar a versão do Python usada por Zope (muitas vezes instalados em conjunto) para montar o banco de dados e manipulá-lo para um formato adequado. Você pode até usar algo como pyodbc para se conectar ao banco de dados SQL Server para injetar os dados -. Ou você pode punt, a exportação para algum formato de arquivo, e usar ferramentas que você está mais familiarizado com a importar os dados

Tem sido um tempo desde que eu interagiu com um ZODB, mas lembro este artigo foi fundamental para me ajudar a interagir com o ZODB e entender sua estrutura.

Boa sorte!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top