我之前见过这个问题,但找不到关于什么是可能/不可能以及什么解决方法可能可用的明确解释。
我有一个现有的 C# 应用程序,它使用 SQL CE 来存储本地信息。该数据库只能由单个应用程序访问,并存储在用户的 appdata 文件夹中。
某些环境将 appdata 文件夹重定向到网络共享,这会导致 SQL CE 引发异常:“内部错误:无法打开共享内存区域。”
我读到 SQL CE 3.5 SP2 应该允许再次连接到网络共享,而 SP1 则不允许,但是我无法让它工作。有没有人成功地让任何版本的 SQL CE 通过网络共享工作?如果是这样,您使用什么版本/代码来让它工作?
我尝试在连接字符串中使用 mode=Exclusive 但没有成功。
或者,有人找到了不同的解决方法吗?数据需要存储在用户的配置文件中,因为它是每个用户特定的,并且系统上的任何其他用户都不应访问该数据。
我更新了应用程序以将 SQL Express 与本地用户实例一起使用,这有效,但它给我们的客户带来了太多部署问题。当我们查看不同的数据库选项时,我最终不得不编写一个层来使用 Access MDB。
我对编写桌面应用程序的建议是不要使用 SQL Express 或 SQL CE 进行本地存储。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)