SQL Server Compact ADO.NET数据提供程序:不允许访问数据库文件

时间:2011-03-04 13:13:42

标签: ado.net windows-services sql-server-ce

我通过Windows服务下的C#程序集访问存储在共享位置(完全拥有“Everyone”)的SQL Server CE文件dbLogs.sdf

当我在Visual Studio 2008中调试服务时,它正在访问.SDF文件而没有任何问题,但是当我实际运行Windows服务时,它会在我尝试打开连接时抛出异常。错误的完整细节如下:

  

错误消息:不允许访问数据库文件。 [档案   name = \ 192.168.17.228 \ shared \ dbLogs.sdf]

     

来源:SQL Server Compact ADO.NET数据提供程序

     

StackTrace:在System.Data.SqlServerCe.SqlCeConnection.ProcessResults(Int32)   hr)at   System.Data.SqlServerCe.SqlCeConnection.Open(布尔   沉默)   System.Data.SqlServerCe.SqlCeConnection.Open()   在LogStat.GetLogDetails(String   LogStat.ProcessLogStats()

中的logType)

我已在system.web下的app.config部分尝试使用用户名和密码身份验证进行身份模拟,但它无效。

但是当我在控制台应用程序中复制相同的代码时,它没有任何问题。

我是否需要以其他方式在窗口服务中提供身份验证?

提前致谢:)

1 个答案:

答案 0 :(得分:0)

您需要在可以访问共享的帐户下运行Windows服务。