J'ai une base de données SQLite que j'inclus avec mon application MonoTouch. Cela m'a bien fonctionné pour moi jusqu'à présent, mais je veux maintenant l'ouvrir en mode lecture seule plutôt que de lire-écrire.
J'ai donc changé la chaîne de connexion pour inclure "lecture seule = vraie", mais quand j'appelle Open (), je reçois l'erreur suivante: p> si je creuse à l'exception, il affiche P> var _conn = new SqliteConnection("Data Source=db/sampleDb;Read Only=True");
_conn.Open ();
4 Réponses :
Avez-vous essayé?:
Votre code est correct, je viens de l'essayer (n'utilisant pas monoTouch) et cela a fonctionné pour moi. P>
Avez-vous la dernière version de system.data.sqlite.dll code>?
Si oui, alors peut-être que c'est un problème lié à MonoTouch. P>
Vous avez trouvé un bogue dans Le drapeau Je vais résoudre ce problème pour les futures versions (de Mono et MonoTouch ...). Si cela vous bloque, veuillez ouvrir un rapport de bogue sur http://bugzilla.xamarin.com et je vais joindre un assemblage fixe (avec instructions pour remplacer l'existant) au rapport de bogue. P> mono.data.sqlite.dll code>. p>
Créer code> est ajouté (par défaut) avant que le drapeau
lisonly code> est analysé et défini. Le drapeau résultant est invalide et sqlite strong> signale une erreur. P>
Très utile à savoir, merci beaucoup. Je ne suis pas complètement bloqué par cela, mais j'aimerais ouvrir un bug pour suivre le statut - le fera maintenant.
Si cela est utile pour les gens, voici un lien vers le bogue que j'ai soulevé: Bugzilla .xamarin.com / show_bug.cgi? ID = 2721
Ceci a fonctionné pour moi (ASPnet Core):
var _conn = new SqliteConnection("Data Source=db/sampleDb;mode=ReadOnly");