Perché ricevo un errore di condivisione file se Sql Compact consente connessioni multiple?

StackOverflow https://stackoverflow.com/questions/427888

  •  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]

È stato utile?

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 .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top