检索ZODB数据库结构

时间:2016-01-28 16:12:02

标签: python database zodb

我最近收到了一个包含erp5数据库的ZODB文件(.fs)。我需要检索存储的数据,但我不知道数据库结构。

我需要的是一些代码行(如果可能的话)来收集"表"和#34;记录"存储在DB中。

这就是我连接数据库的方式。

from ZODB import FileStorage, DB

storage = FileStorage.FileStorage('D:\slappart88\srv\zodb\main.fs')

db = DB(storage)
conn = db.open()
root = conn.root()
fsi = storage.iterator()

print db
print conn
print root
print fsi

db.close()

获得此输出:

<ZODB.DB.DB object at 0x00000000028395C0>
<Connection at 02978128>
{'Application': <persistent broken OFS.Application.Application instance     '\x00\x00\x00\x00\x00\x00\x00\x01'>}
<ZODB.FileStorage.FileStorage.FileIterator object at 0x0000000002978198>

我会感激任何帮助。

谢谢!

1 个答案:

答案 0 :(得分:1)

ZODB是一个&#34;对象&#34;存储文件格式。它确实没有记录&#34;和&#34;表&#34 ;;它 有一组pickled个对象,它真正意味着被知道这些对象的特定应用程序使用。

如果您的主要目标只是检查ZODB的内容,您可以尝试eye,它为您提供了基于浏览器的数据库内容界面。

查看eye的代码可能会提供一些关于如何自己提取信息的想法,尽管如果没有使用原始应用程序,您将无法获得任何有用的信息。

对此主题进行了较长时间的讨论here