我有一个C#ASMX Web服务,它使用Oracle.DataAccess.Client
连接到Oracle数据库。当我尝试调用Web方法时,我收到此错误消息:
无法加载dll'OraOps10.dll'
与asked before存在同样的问题,我确实有ODAP (至少我在Oracle客户端安装的bin目录中有OraOps10.dll),但它是在文件共享上安装(W:),并且未在我的机器上注册(Web服务在VisualStudio的测试Web服务器上运行)。
即使我尝试将所述DLL复制到Web服务bin /目录中,也无法找到它。堆栈跟踪听起来像是在注册表中查找它。
有什么方法可以告诉我的网络服务在哪里找到ODAP安装?(在web.config或类似设置中设置ORACLE_HOME)
(请注意:在每台目标计算机上都可以使用正常运行的Oracle客户端,并且可以正常打开与System.Data.Oracle的Oracle连接,只有客户端安装似乎不包含ODAP:我不能在“添加参考 - > .NET”中找到任何“Oracle ”条目。*)
答案 0 :(得分:2)
如果我正确地阅读此内容,听起来您在本地安装了Oracle客户端,而不是本地安装的ODP.net 客户端 - 而是将其“安装”在另一台计算机上,但它使用它的ORA home作为共享的'W:'驱动器。
您知道W:驱动器上的ODP安装类型是什么吗?
如果它是XCOPY(但你也可以安全地尝试使用经典安装),你可以安全地添加PATH变量:(一如既往,在使用PATH或注册表进行修复之前) !) http://www.oracle.com/technetwork/oramag/2008/08-nov/o68odpnet-101744.html
第8步: 安装Oracle的最后一步 数据访问组件和Oracle 数据库即时客户端 开发者机器是添加两个项目 到Path环境变量。 右键单击“我的电脑”图标 从上下文中选择“属性” 菜单。接下来,单击“高级”选项卡 系统属性对话框和 然后单击环境变量 按钮。在“系统变量”组中, 在列表中找到Path变量 (必要时向下滚动)。点击 然后是列表中的路径变量 单击编辑。在编辑系统中 变量对话框,放置光标 在条目的开头和 类型 C:\ ORACLE \ 11.1 \ ODAC; C:\ ORACLE \ 11.1 \ ODAC \ BIN; 。单击“确定”关闭“编辑系统” 在“变量”对话框中,单击“确定”关闭 环境变量对话框, 最后再次单击“确定”关闭 “系统属性”对话框
至于注册局;检查
HLM \ SOFTWARE \ ORACLE \ ODP.NET
让它发挥作用的一种可靠方法是将ODP本地安装到测试盒上,但PATH变量应该是您需要的全部内容。你可以找到@文件 http://www.oracle.com/technetwork/topics/dotnet/whatsnew/index.html