首页 > 解决方案 > 当 SDF 文件具有允许只读的权限时,为什么我不能以只读方式打开 SQL Server CE 数据库?

问题描述

我正在尝试.SDF使用 SQL Server CE 4.0 SP1 打开一个文件。该.SDF文件位于C:\Program Files (x86). 设置了权限,以便普通用户对文件具有读取和执行权限。客户端程序以普通用户身份运行并尝试.SDF使用此连接字符串打开:

"Data Source='{path-to-database-file}'; Password='{password}'; Max Database Size=4000;Mode=Read Only;Temp Path={users-temp-path};"

使用该连接字符串打开连接会导致

内部错误:无法打开共享内存区域

同样的代码,当以管理员身份运行时,可以完美运行。

如果我为所有用户添加修改和写入,它就像普通用户一样完美。

如果我将文件移动到应用程序数据文件夹,它对普通用户非常有效。

基于此证据,SQL Server CE 似乎无法以只读方式打开文件而无法写入文件。

根据客户要求C:\Program Files (x86),普通用户无法写入任何内容,所有普通用户都需要对该文件的只读访问权限。

这是怎么回事?我错过了什么?这是不可能的吗?

谢谢。

标签: c#.netsql-serversql-server-cesql-server-ce-4

解决方案


推荐阅读