当我们尝试部署连接到Oracle数据库的新项目时,我们遇到了一些问题..
在我的开发工作站上,我将Oracle dll安装在c:\ app \ oracle \ product \ 11.2.0 \ client_1 \ BIN中,但在开发Web服务器上,它在c:\ oracle \ product \ 11.2中停滞不前.0 \ client_1 \ BIN(注意不在app文件夹中)。
部署应用程序时,引用的那些dll需要位于两台计算机上的相同位置。不用说,我们从开发服务器收到错误。
为了解决这个问题,我们尝试了一些方法 -
知道将开发服务器上的Oracle重新安装到c:\ app \ Oracle不是一个选项,是否有其他人遇到此问题?
答案 0 :(得分:0)
您需要确保正确设置了Oracle安装。我有一些可以帮助解决此问题的实用程序。
第1步 -
以下实用程序将首先确认.net适用于您服务器上的Oracle http://tsells.wordpress.com/2010/02/18/oracle-connection-tester-for-net-applications/
第2步 -
如果上面的实用程序工作 - 那么转到第3步。否则 - .net无法在此计算机上看到oracle。首先检查路径语句 - 确保oracle bin目录指向的是正确的。如果没有 - 改变它并再试一次。
如果这不起作用 - 我建议完全卸载oracle并重新安装。使用以下步骤。
停止正在运行
的所有服务(start - run - services.msc)从文件系统中删除所有oracle目录(C:\ app,C:\ Program Files | C:\ Program Files(x86(
从系统路径中删除Oracle条目
从环境变量(如果存在)中删除任何Oracle条目,例如ORACLE_HOME
打开注册表编辑器(start - run - regedit)并从以下键中删除所有oracle条目
HKLM \ SOFTWARE \ HKLM \ Software \ Wow6432Node(仅限64位机器)
清空回收箱(让我感觉更好):))
重新启动机器
下载两个项目之一
Oracle客户端安装(完整)
ODAC(Oracle数据提供商)
安装它们(确保选择客户端版本 - 使用最少的运行时安装) - 不要使用即时客户端 - 它似乎永远不会正常工作。
将TNSNames.ora文件复制到
再次使用该实用程序进行测试。它应该是成功的。
第3步 -
如果上述实用程序有效 - 那么您需要确保应用程序的位级别与Oracle客户端安装的位级别相匹配。对于应用程序 - 这将是应用程序池的位级别。
注意 - bin文件夹中的oracle.dataaccess.dll文件用于帮助创建映像(ngen,aspnet编译)。一旦您尝试调用.net的oracle数据提供程序 - 它将被路由到您的客户端安装以执行实际的数据访问。