【发布时间】:2016-08-09 12:44:58
【问题描述】:
我需要在同一台 Windows 2008 R2 服务器上运行 ASP.NET 和 C#.NET 程序。你会认为每件事都是小菜一碟,让一个工作,另一个是免费赠品。
我首先在服务器上安装了 Oracle XE,然后一切正常。迁移了数据库,一切看起来都不错。
我从 Windows 2003 x86 环境迁移了 Web 应用程序。不行,所以我安装了 Oracle 11g (11.2x) x86 客户端,允许应用程序池中的 32 位应用程序和 Web 应用程序工作开始工作,我开始快乐地跳舞。
Web 应用程序的一部分运行一个 C# 可执行文件 (.exe),该可执行文件 (.exe) 位于 Web 根目录的 bin 文件夹中。它不起作用,所以我抓住了 shell 命令行并决定手动运行它。我得到了错误;
无法加载文件或程序集“Oracle.DataAccess.dll”或其依赖项之一。系统找不到指定的文件。
在尝试了很多方法后,我将可执行文件移到了它自己的位置,安装了 Oracle 11g x64 客户端,将 oracle.dataaccess.dll 放入包含应用程序 (.exe) 的文件夹中,现在我得到了;
ORA-12154: TNS: 无法解析指定的连接标识符
包括 TNSPING 在内的所有内容都可以很好地连接到数据库,我在路径变量的开头有 X64 路径,并且我尝试了尽可能多的 ORA-12154 故障排除技巧,我被正式难住了。我已经检查并仔细检查了系统上的每个 TNSNAMES.ORA 文件,它们看起来都不错。
我的一个问题是“我的程序正在使用什么闪烁的 TNSNAMES.ORA?”为此,我下载并运行了 sysinternals ProcessExplorer,(以及内置的资源监视器(但我无法看到它打开任何文件,更不用说 TNSNAMES.ORA。
在我复制它的 2003 x86 服务器上一切正常。
大家对此有什么建设性的想法吗?
【问题讨论】:
标签: c# asp.net windows oracle oracle11g