¿Por qué recibo un error de compartir archivos si Sql Compact permite múltiples conexiones?
-
06-07-2019 - |
Pregunta
Aquí , se dice que Sql Server Compact permite hasta 256 conexiones.
Pero cuando intento abrir 2 conexiones, recibo un error al compartir archivos. ¿Cómo puedo resolver esto?
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();
Hay una violación de uso compartido de archivos. Un proceso diferente podría estar usando el archivo. [testDB.sdf]
Solución
Este fue un problema de cadena de conexión.
File Mode=Read Write
resolvió el problema.
Otros consejos
Cuando analizo este problema, encuentro algunos recursos y esta publicación. Quizás alguien lo necesite, así que dejo lo que encuentro aquí.
Según el MSDN dijo , si no se asigna Modo de archivo
, utilizará Leer Escribir
por defecto.
Y, si es necesario abrir una base de datos Solo lectura
, en esta publicación se deben asignar dos parámetros . Uno es Modo de archivo
, y otro es Temp Path
.