C# WebService从文件共享使用ODP.NET

C# WebService从文件共享使用ODP.NET,c#,oracle,oracle10g,asmx,odp.net,C#,Oracle,Oracle10g,Asmx,Odp.net,我有一个C ASMX web服务,它使用Oracle.DataAccess.Client连接到Oracle数据库。当我尝试调用web方法时,会收到以下错误消息: 无法加载dll“OraOps10.dll” 这与以下问题相同,但有一个显著的区别:我确实有ODAP,至少我在Oracle客户端安装的bin目录中有OraOps10.dll,但它安装在文件共享W:,并且没有在我的计算机上注册,而web服务在VisualStudio的测试web服务器上运行 即使我尝试将上述DLL复制到web服务bin/目录

我有一个C ASMX web服务,它使用Oracle.DataAccess.Client连接到Oracle数据库。当我尝试调用web方法时,会收到以下错误消息:

无法加载dll“OraOps10.dll”

这与以下问题相同,但有一个显著的区别:我确实有ODAP,至少我在Oracle客户端安装的bin目录中有OraOps10.dll,但它安装在文件共享W:,并且没有在我的计算机上注册,而web服务在VisualStudio的测试web服务器上运行

即使我尝试将上述DLL复制到web服务bin/目录中,它也找不到。stacktrace听起来像是在注册表中查找它

有没有办法告诉我的web服务在哪里可以找到ODAP安装?在web.config或类似文件中设置ORACLE_主页


请注意:每个目标计算机上都有一个可工作的Oracle客户端安装,打开与System.Data.Oracle的Oracle连接可以正常工作,只是该客户端安装似乎不包括ODAP:我在Add Reference->.NET中找不到任何Oracle条目。*

如果我阅读正确,听起来像是本地安装了Oracle客户端,而不是本地安装了ODP.net客户端,而是“安装”在另一台计算机上,但它使用它的ORA home作为共享“W”驱动器

您知道W:驱动器上安装了什么类型的ODP吗

如果它是XCOPY,但您也可以安全地尝试经典安装,您只需添加路径变量就可以安全了:一如既往,在使用路径或注册表对其进行备份之前!

步骤8: 安装Oracle的最后一步 数据访问组件和Oracle 服务器上的数据库即时客户端 开发人员机器将添加两项 指向Path环境变量。 右键单击“我的电脑”图标并单击 从上下文中选择属性 菜单接下来,单击中的“高级”选项卡 “系统属性”对话框和 然后单击环境变量 按钮在系统变量组中, 在列表中找到Path变量 如有必要,向下滚动。点击 列表中的Path变量,然后 单击编辑。在编辑系统中 “变量”对话框中,放置光标 在条目的开头和 类型 C:\oracle\11.1\odac;C:\oracle\11.1\odac\bin; . 单击“确定”关闭编辑系统 “变量”对话框中,单击“确定”关闭 “环境变量”对话框, 最后再次单击“确定”关闭 “系统属性”对话框

至于登记处;检查

HLM\SOFTWARE\ORACLE\ODP.NET

让它工作的可靠方法是将ODP本地安装到测试盒上,但路径变量应该是您所需要的全部。你可以找到这些文件@

谢谢,我周末后会试试的。至于注册表:我的注册表中不存在该项。我没有ORACLE_HOME环境变量。在注册表中,定义了一个家庭。这一个也在W:\驱动器上,但它的安装方式与9i和10g不同