Perché ricevo un errore di condivisione file se Sql Compact consente connessioni multiple?
-
06-07-2019 - |
Domanda
Qui , si dice che Sql Server Compact consente fino a 256 connessioni.
Ma quando provo ad aprire 2 connessioni, ricevo un errore di condivisione dei file. Come posso risolvere questo?
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();
C'è una violazione della condivisione dei file. Un processo diverso potrebbe utilizzare il file. [testDB.sdf]
Soluzione
Si è verificato un problema con la stringa di connessione.
File Mode=Read Write
risolto il problema.
Altri suggerimenti
Quando rilevo questo problema, trovo alcune risorse e questo post. Forse qualcuno ne avrà bisogno, quindi lascio quello che trovo qui.
Secondo MSDN, , se non è stato assegnato File Mode
, per impostazione predefinita utilizzerà Leggi scrittura
.
E, se è necessario aprire un sola lettura
db, questo post dice che dovrebbero essere assegnati due parametri . Uno è Modalità file
e uno è Temp Path
.