Frage

Ich habe Probleme mit dem Berkeley DB in Python zu öffnen mit bdtables. Als bdtables von der Bibliothek verwendet wird, ich auf die Datenbank zuzugreifen verwenden, muß ich es arbeiten.

Das Problem scheint zu sein, dass die DB-Umgebung ich zu öffnen versuchen (ich eine Kopie der Datenbank bekam zu öffnen), ist Version 4.4, während libdb ist Version 4.6. Ich erhalte den folgenden Fehler mit bsddb.dbtables.bsdTableDB ([dbname], [Ordner]):

(-30972, "DB_VERSION_MISMATCH: Database environment version mismatch -- Program version 4.6 doesn't match environment version 4.4")

Allerdings bsddb.btopen ([dbname]) arbeitet.

Ich habe auch versucht, db4.4-util Installation db4.5-util und db4.6-util. Der Versuch, db4.6_verify Ergebnisse in verwenden:

db4.6_verify: Program version 4.6 doesn't match environment version 4.4
db4.6_verify: DB_ENV->open: DB_VERSION_MISMATCH: Database environment version mismatchs

db4.4_verify Ergebnisse in dem Computer gerade hängen, und nichts passiert.

Schließlich, wenn ich auf der Datenbank ausgeführt db4.4_recover, das funktioniert. Doch danach bekomme ich folgende Fehler ‚Keine solche Datei oder das Verzeichnis‘ in Python.

War es hilfreich?

Lösung

Ich denke, Antworten in dem „Antwort“ Abschnitt gehen sollten und nicht als Ergänzung zu der Frage, da diese die Fragezeichen als auf den verschiedenen Fragelisten Seiten eine Antwort hat. Ich werde das für Sie tun, aber wenn Sie auch umgehen zu tun es, einen Eintrag in meiner Antwort hinterlassen, damit ich es löschen können.

Zitiert "Antwort in Frage":

Überprüfen alles in dieser Frage, ich löste schließlich das Problem. Die ‚Keine solche Datei oder das Verzeichnis‘ fehlen von einigen __db.XXX Dateien verursacht. Mit

bsddb.dbtables.bsdTableDB([dbname],[folder], create=1)

nach db4.4_recover, wurden diese Dateien erstellt und alles funktioniert jetzt.

Dennoch war es ein bisschen ein Problem obskuren und zunächst schwer herauszufinden. Aber dank der Frage Prüfungs Berkeley DB-Dateien aus dem CLI , I hat die Werkzeuge, die ich brauchte. Ich werde es einfach hier posten, wenn jemand endet mit dem gleichen Problem in der Zukunft und am Ende bei stackoverflow.com

Andere Tipps

Verdammt, alles in dieser Frage zu überprüfen Ich löste schließlich das Problem. Die ‚Keine solche Datei oder das Verzeichnis‘ fehlen von einigen __db.XXX Dateien verursacht. Mit bsddb.dbtables.bsdTableDB ([dbname], [Ordner], erstellen = 1) nach db4.4_recover, wurde diese Dateien erstellt und alles funktioniert jetzt.

Dennoch war es ein bisschen ein Problem obskuren und zunächst schwer herauszufinden. Aber dank der Frage Prüfungs Berkeley DB-Dateien von der CLI I hat die Werkzeuge, die ich brauchte. Ich werde es einfach hier posten, wenn jemand endet mit dem gleichen Problem in der Zukunft und am Ende bei stackoverflow.com

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