6

在这里,据说 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]

4

2 回答 2

9

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

File Mode=Read Write

解决了这个问题。

于 2009-01-13T09:52:48.907 回答
2

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

按照 MSDN 的说法,如果没有File Mode分配,则Read Write默认使用。

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

于 2013-04-08T09:21:06.447 回答