如果Sql Compact允许多个连接,为什么会收到文件共享错误?

时间:2009-01-09 12:28:40

标签: sql-server-ce database-connection

Here,据说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]

2 个答案:

答案 0 :(得分:9)

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

File Mode=Read Write

解决了这个问题。

答案 1 :(得分:2)

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

According the MSDN said,如果未分配File Mode,默认情况下将使用Read Write

并且,如果需要打开Read Only db,this post said two parameters should be assigned。一个是File Mode,一个是Temp Path