这里,据说Sql Server Compact允许最多256个连接。

但是当我尝试打开2个连接时,收到文件共享错误。我该如何解决这个问题?

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

存在文件共享冲突。不同的进程可能正在使用该文件。 [testDB.sdf]

有帮助吗?

解决方案

这是一个连接字符串问题。

File Mode=Read Write

解决了这个问题。

其他提示

在调查此问题时,我会找到一些资源和这篇文章。也许有人会需要它,所以我留下我在这里找到的东西。

根据MSDN说的,如果没有分配文件模式,它将默认使用 Read Write

并且,如果需要打开 Read Only db,这篇文章说应该分配两个参数。一个是 File Mode ,一个是 Temp Path

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top