Pourquoi est-ce que je reçois une erreur de partage de fichiers si Sql Compact autorise plusieurs connexions?
-
06-07-2019 - |
Question
Ici , il est dit que Sql Server Compact permet jusqu'à 256 connexions.
Mais lorsque j'essaie d'ouvrir 2 connexions, je reçois une erreur de partage de fichier. Comment puis-je résoudre ce problème?
SqlCeConnection c1 = new SqlCeConnection("Data Source=testDB.sdf;Encrypt Database=True;Password=test;File Mode=shared read;Persist Security Info=False;");
SqlCeConnection c2 = new SqlCeConnection("Data Source=testDB.sdf;Encrypt Database=True;Password=test;File Mode=shared read;Persist Security Info=False;");
c1.Open();
c2.Open(); // throws SqlCeException
c1.Close();
c2.Close();
Il y a une violation de partage de fichiers. Un processus différent peut utiliser le fichier. [testDB.sdf]
La solution
Il s'agissait d'un problème de chaîne de connexion.
File Mode=Read Write
a résolu le problème.
Autres conseils
Lorsque vous examinez ce problème, je trouve des ressources et ce post. Peut-être que quelqu'un en aura besoin, alors je laisse ce que je trouve ici.
Selon le MSDN , si aucun Mode fichier
n'est attribué, il utilisera Lecture écriture
par défaut.
Et, si besoin d'ouvrir une base de données en lecture seule
, Cet article disait que deux paramètres devaient être attribués . L’un est Mode fichier
et l’autre Chemin temporaire
.