SqlServerCe写入C:\ ProgramData

问题描述:

我的程序正在写入位于C:\ProgramData\MyApp\MyDb.sdf的SqlServerCe文件。 对于开发,我已将我的帐户设为C:\ProgramData\MyApp\的拥有者,并拥有写入权限。SqlServerCe写入C: ProgramData

此前这一直工作正常,但今天我得到这个错误:

System.UnauthorizedAccessException的:“访问路径 'C:\ ProgramData \ Microsoft.SqlServer.Compact.400.32.bc' 被拒绝。 “

System.UnauthorizedAccessException: 'Access to the path 'C:\ProgramData\Microsoft.SqlServer.Compact.400.32.bc' is denied.'

有了这个堆栈跟踪

mscorlib.dll!System.IO.StreamWriter.StreamWriter(string path, bool append, System.Text.Encoding encoding, int bufferSize, bool checkHost) Unknown 
mscorlib.dll!System.IO.StreamWriter.StreamWriter(string path, bool append, System.Text.Encoding encoding) Unknown 
mscorlib.dll!System.IO.File.WriteAllLines(string path, string[] contents, System.Text.Encoding encoding) Unknown 
System.Data.SqlServerCe.dll!System.Data.SqlServerCe.SqlCeServicing.DoBreadcrumbServicing(string modulePath) Unknown 
System.Data.SqlServerCe.dll!System.Data.SqlServerCe.NativeMethods.LoadNativeBinariesFromPrivateFolder(string privateInstall) Unknown 
System.Data.SqlServerCe.dll!System.Data.SqlServerCe.NativeMethods.LoadNativeBinaries() Unknown 
System.Data.SqlServerCe.dll!System.Data.SqlServerCe.SqlCeConnection.SqlCeConnection() Unknown 
System.Data.SqlServerCe.dll!System.Data.SqlServerCe.SqlCeConnection.SqlCeConnection(string connectionString) Unknown 

看来,虽然SqlServerCe不尝试写为 'C:\ ProgramData \ Microsoft.SqlServer.Compact.400.32.bc' 没有做所以不是一个严重的错误。

程序可以通过按“继续”/F5

原因的Visual Studio做突破是此设置安全地继续。

Break when this exception type is thrown