2010-08-20 38 views
0

我有一个C#ASMX web服务,它使用Oracle.DataAccess.Client连接到Oracle数据库。当我尝试调用Web方法我收到此错误信息:WebService使用文件共享中的ODP.NET

无法加载DLL“OraOps10.dll”

这是同样的问题,因为asked before,与显著区别在于我做有ODAP(至少我在Oracle客户端安装的bin目录中有OraOps10.dll),但在文件共享(W :)上安装,并且未在我的机器上注册(其中Web服务在VisualStudio的测试上运行网络服务器)。

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

有什么方法可以告诉我的Web服务在哪里可以找到ODAP安装?(设置ORACLE_HOME在web.config或同级)

请注意:工作Oracle客户端安装,请每个目标机器上,它工作正常打开与System.Data.Oracle Oracle连接,只该客户端安装似乎不包括ODAP:我无法在“添加引用 - > .NET”中找到任何“Oracle”条目。*)

回答

2

如果我正确读取它,听起来像您有Oracle客户端安装在本地,但不是本地安装的ODP.net客户端,而是安装在另一台计算机上,但它将ORA主页用作共享的'W:'驱动器。

您是否知道W:驱动器上的ODP安装类型?

如果它是XCOPY(但您也可以安全地使用经典安装进行试用),您只需添加PATH变量即可安全:(像往常一样,在PATH或注册表中围绕之前) UP) http://www.oracle.com/technetwork/oramag/2008/08-nov/o68odpnet-101744.html

步骤8: 在 开发机器上安装Oracle 数据访问组件和Oracle数据库 即时客户端的最后一步是将两个项目 添加到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

+0

谢谢你,会在周末后试试。至于注册表:该注册表中不存在该密钥。我没有ORACLE_HOME环境变量。在注册表中,定义了一个家庭。那个也在W:\驱动器上,但它是不同的安装(9i与10g) – chiccodoro 2010-08-20 15:14:25