我有一个控制台应用程序,它每天从Task Scheduler中的一项工作运行两次。
该应用程序连接到三个不同的数据库,并做一些家务(协调不同的表)。
工作完成后,会向我发送电子邮件通知我成功或失败。直到几天前,该应用程序已成功运行。但是,几天前,我开始收到FAILURE消息。
该消息是(为便于阅读而压缩):
HandlerMethod
但是,如果我手动运行该应用程序(在文件系统中找到该exe并双击),那么一切都将正确运行以完成操作。
我确定数据库连接的连接字符串正确。
我已确定运行该作业的帐户具有正确的权限(如果没有,则该应用程序甚至无法进入尝试进行数据库连接的阶段)。实际上,Program.cs中的应用程序barfs行是 second 数据库连接;第一次连接已经成功。在这个特定的数据库上,我看不到有关登录名或用户的任何信息,而该错误或错误会导致错误(如果存在错误,为什么在手动调用时会成功?)
所以我想最重要的是:为什么从Task Scheduler调用的程序无法使用存储在App.Config中的连接字符串连接到数据库,而在手动调用时成功?