我通过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
部分尝试使用用户名和密码身份验证进行身份模拟,但它无效。
但是当我在控制台应用程序中复制相同的代码时,它没有任何问题。
我是否需要以其他方式在窗口服务中提供身份验证?
提前致谢:)
答案 0 :(得分:0)
您需要在可以访问共享的帐户下运行Windows服务。