WebService从文件共享中使用ODP.NET

时间:2010-08-20 07:59:01

标签: c# oracle oracle10g asmx odp.net

我有一个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 ”条目。*)

1 个答案:

答案 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