¿Por qué recibo un error de compartir archivos si Sql Compact permite múltiples conexiones?

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

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

¿Fue útil?

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 .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top