c# - 任务计划程序中的 Oracle 错误

标签 c# oracle scheduled-tasks

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

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

ORA-12504: TNS:listener was not given the SERVICE_NAME in CONNECT_DATA

ORA-12154: TNS:could not resolve the connect identifier specified.

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

是否有人阅读此消息可能知道此问题的答案?欢迎提出任何建议。

最佳答案

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

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

关于c# - 任务计划程序中的 Oracle 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8649167/

相关文章:

c# - 在 MVC 中处理长查询字符串的最佳方式是什么?

c# - 为什么未加载持久的用户设置?

SQL 日期格式

node.js - Node 调度程序不是每天都运行

c# 控制台应用程序保持在任务计划程序 Windows 2016 中运行的状态

c# - 无法直接使用 TestStack.White 单击按钮

c# - 将自定义控件替换为现有控件

java - 优化查询 : DBMS_METADATA. GET_DDL (Oracle)

c# - .net 应用程序的 oracle 连接超时

windows - 如何使用每月多天的 schtasks.exe 创建任务