任务计划程序中的Oracle错误

Mik*_*ton 6 c# oracle scheduled-tasks

我们有一个C#程序,计划在Windows Server 2003上的任务计划程序中运行,旨在根据从多个Oracle数据库中提取的信息删除文件夹中的过期文件.我可以手动执行应用程序,一切正常 - 以我自己的管理权限登录,或以具有用户权限的已分配任务用户身份登录.

但是,当任务用户从计算机注销时,应用程序在每个数据库上都会出现以下两个错误之一:

ORA-12504:TNS:侦听器未在CONNECT_DATA中获得SERVICE_NAME

要么

ORA-12154:TNS:无法解析指定的连接标识符.

所有这些数据库都使用连接字符串(从另一个SQL Server,数据库中检索),正如我之前所说的那样,在手动操作时连接并运行正常.我一直在网上寻找可能适用于这种情况的提示,并没有提出明确的答案.

是否有人阅读此消息可能知道这个问题的答案?任何建议都是最受欢迎的.

zie*_*mer 4

您的计划任务设置为以什么用户身份执行?您测试的同一用户之一,还是另一个帐户?

无论如何,这听起来不像是权限问题,就像ORACLE_HOME未设置环境变量一样。(看起来您的程序可能正在尝试通过tnsnames.ora找不到的文件进行连接。)您可能需要让计划任务首先启动一个设置环境的批处理文件,然后继续调用您的 C# 程序。