2016-09-21 2 views
0

J'utilise Couchbase Lite pour Xamarin (android) et je voudrais supprimer un DB crypté. Voici mon code pour supprimer:Supprimer Cipherbase Lite DB crypté (Xamarin)

var databaseName = "XYZ"; 
var manager = Manager.SharedInstance; 
manager.GetExistingDatabase(databaseName).Delete(); 

Quand je lance ce code je reçois:

Couchbase.Lite.CouchbaseLiteException: Erreur 21, 26 (le fichier est crypté ou non une base de données) exécution SQL 'CREATE TABLE docs (doc_id INTEGER PRIMARY KEY, docid TEXTE UNIQUE NON NULL)'

Je sais que la base de données existe et est cryptée.

Les docs ne spécifient pas que la suppression ne fonctionne que sur des bases de données non cryptées. http://developer.couchbase.com/documentation/mobile/1.3/develop/references/couchbase-lite/couchbase-lite/database/database/index.html

Existe-t-il une manière différente de supprimer une base de données chiffrée?

Répondre

0

La bonne façon de le faire est au lieu de

manager.GetExistingDatabase(databaseName).Delete(); 

faire

manager.DeleteDatabase(databaseName); 

Cela permet la suppression d'un Couchbase crypté DB Lite sans avoir la clé.

+0

Le premier fonctionne également, à condition que vous l'ayez déjà ouvert avec la bonne clé. – borrrden