2017-08-04 7 views
0

J'ai une base de données SQLite 3, elle est basée sur Windows Skype "classique", qui stocke tous ses historiques de conversations et ses conversations, ses conférences téléphoniques précédentes et autres, dans un fichier de base de données appelé "main.db". ". C'est la norme SQLite 3, et la mienne est assez grande car je l'utilise comme programme de communication principal, donc quelque chose comme ça ne m'arrive pas vraiment. En attendant, j'utilise la version Windows 10 qui a été capable de récupérer mes contacts et l'historique de mes discussions récentes de la base de données corrompue, ce qui fonctionne pour l'instant.Des conseils de récupération d'une grande base de données SQLite3 qui est corrompue?

Il est depuis corrompu et ne peut pas être lu. Je ne suis pas sûr de ce qui l'a causé, mais je serais déconnecté au hasard et quand j'essayais de me reconnecter, j'obtiendrais un message "erreur de base de données, veuillez redémarrer", et j'aurais dû m'arrêter immédiatement mais je me suis connecté et finalement quand je me suis connecté pour autant de fois après qu'il a continué à me botter dehors tout était foiré, contacts, histoire de chat, tout. Il a environ 2 ans de journaux de conversation et d'autres histoire de conversation que je détesterais perdre et je n'ai aucune sauvegarde récente de. Skype lui-même a une fonction de réparation intégrée et on dirait qu'il a déjà réparé la base de données elle-même, mais aujourd'hui, quand il a essayé de réparer la base de données, j'ai découvert qu'il fonctionnait à chaque fois que je me suis déconnecté. message) il a été "foiré" comme je l'ai décrit ci-dessus.

J'ai contacté leur support, ils m'ont informé du fichier main.db SQLite3 et c'est là que tout est stocké, et que le mien doit être corrompu et qu'ils ne peuvent plus m'aider. Certaines choses sont stockées dans le «nuage», mais cela ne représente que 30 jours d'appels, de journaux de discussion et tout le reste. Je ne peux rien récupérer après cela (ce qui serait avant cet été a commencé).

Il a quitté le dernier fichier de base de données corrompus non corrigés comme main.corrupt, donc j'ai pris cela et j'ai essayé de travailler avec, Voici les messages que je reçois en essayant de le lire dans diverses applications, "Database image is malformé », et en essayant de le faire "sqlite3 main.db "PRAGMA integrity_check"" Je reçois plusieurs messages à la recherche comme celui-ci, "page #####: btreeInitPage() renvoie le code d'erreur 11"

Est-ce Quelqu'un sait-il des commandes de base, etc Je peux faire pour tenter de le récupérer? J'ai également cherché Google et n'ai pas eu beaucoup de chance. Il y a des programmes en ligne qui prétendent qu'ils peuvent le réparer pour 100 $, mais je ne suis pas tout à fait sûr de vouloir dépenser autant d'argent pour quelque chose qui pourrait ne pas fonctionner.

J'ai aussi essayé "$ sqlite3 main.corrupt" .dump "| sqlite3 main_repaired.db" mais cela n'a pas eu beaucoup de succès non plus. J'ai moi-même étudié la question moi-même, je ne suis pas entièrement sûr du format de ces bases de données, bien qu'il semble que d'autres personnes l'aient également documenté en ligne. Il y a même un programme appelé "Skyperious" qui vous permet de charger la base de données et de la lire, mais j'ai juste l'habituel "Database image est mal formé", et j'ai essayé d'utiliser sa propre fonction de réparation mais je n'ai pas eu beaucoup de chance. Je vais continuer à essayer si

Répondre

0

En général, il n'existe aucun moyen garanti pour récupérer complètement une base de données SQLite3 corrompue - l'idéal est que vous restaurez la base de données à partir d'une copie de sauvegarde. Cela dit, la technique couramment utilisée pour tenter pour récupérer des données est d'utiliser la commande ".dump" dans l'outil de ligne de commande sqlite3 et d'utiliser sa sortie pour créer une nouvelle base de données SQLite3. Les résultats varient en fonction de la nature et de l'ampleur de la corruption initiale,