Question

Here, it is said that Sql Server Compact allows up to 256 connections.

But when I try to open 2 connections, I receive a file sharing error. How can I solve this?

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();

There is a file sharing violation. A different process might be using the file. [ testDB.sdf ]

Was it helpful?

Solution

This was a connection string issue.

File Mode=Read Write

solved the problem.

OTHER TIPS

When survey this problem, I find some resources and this post. Maybe someone will need it, so I leave what I find here.

According the MSDN said, if no File Mode assigned, it will use Read Write by default.

And, if need to open a Read Only db, this post said two parameters should be assigned. One is File Mode, and one is Temp Path.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top