SQL CE文件共享违反本地计算机上的多个进程

Den*_*nis 5 .net sql sql-server sql-server-ce

参考问题如何为多个进程共享SQL Server CE数据库文件(.sdf)?

根据MSDN,SQL CE允许256个并发连接到单个数据库.

但即使在SAME机器上,当我打开相同的数据库时,我面临共享违规错误,但是有两个不同的进程(a.exe和b.exe,代码是相同的).这里似乎有什么问题?

我正在使用连接字符串

SqlCeConnection("Data Source=d:\test.sdf;Encrypt Database=True;Password=test;File Mode=read write;") 
Run Code Online (Sandbox Code Playgroud)

Dou*_*rch 5

这不是您想听到的答案,但您永远不应该尝试从多个进程打开 SQL CE 文件。是的,我知道,SQL CE 4.0 允许多个写入者,并且您认为永远不会有多个写入者写入同一个记录,但这就像认为只要戴上眼罩就可以安全地使用燃烧的链锯。

SQL CE 修改实时数据文件中更改的字节。您无法从多个进程可靠地执行此操作。你认为你可以,但你不能。阅读您引用的问题的已接受答案;使用面向服务的数据库,如 SQL Express。