如果Sql Compact允许多个连接,为什么会收到文件共享错误?
-
06-07-2019 - |
题
这里,据说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
。
不隶属于 StackOverflow