我最近担任应用程序开发人员,没有太多经验,我无法确定问题的根源。我在论坛上搜索过,无法对我的具体问题得出结论性答案,因此我提出了一个问题。如果我冒犯任何人或违反任何规则,我会事先道歉,因为我是这个网站的新手。
我有几个需要使用oracle.dataaccess.dll的应用程序。我按照雇主的要求安装了oracle客户端x32。当我尝试运行任何需要oracle.dataaccess.dll文件的应用程序时,我遇到了不同的错误。
大多数应用程序使用dll的4.xx.xx.xx版本,这对我的oracle客户端没有出现(我假设它是因为我安装了32位)。当我尝试使用32位版本时,我遇到了各种错误:
或
或
如果我尝试使用生产服务器上使用的oracle.dataaccess.dll,我会收到相同的错误。
什么是'提供商'我怎样才能弄清楚我安装了哪一个?
我是否应该将这些dll存储在我的GAC中?
我完全不知道从哪里开始,因为我已经尝试了所有我知道的东西。我甚至卸载了我的Oracle客户端并重新安装无济于事。请注意,任何可以指向我的教程或如何使用oracle.dataaccess的信息都将非常感激。
我再次为任何麻烦事先道歉。
答案 0 :(得分:1)
一些通用观点:
Oracle.DataAccess.dll
)需要安装Oracle客户端。独立DLL不起作用。Oracle.DataAccess.dll
的体系结构(即32位与64位)必须与已安装的Oracle客户端的体系结构和应用程序的体系结构相匹配。2.x
或4.x
Oracle.DataAccess.dll
)必须与应用程序的.NET编译目标匹配。如果在目标2.0,3.0或3.5上进行编译,则必须安装版本2.x
。对于编译目标4或更高版本,您必须安装版本4.x
x.111
,x.112
,x.121
等)应与已安装的Oracle客户端版本相匹配。关于你的问题:
提供程序是DLL Oracle.DataAccess.dll
。它可以是应用程序二进制文件夹中的本地副本,也可以安装在GAC中。
您是否使用GAC并不重要。我个人更喜欢使用GAC,但您也可以提供本地副本。
您可以使用gacutil.exe
工具查询已安装的提供商:
C:\>gacutil /l Oracle.DataAccess
Microsoft (R) .NET Global Assembly Cache Utility. Version 4.0.30319.18020
Copyright (c) Microsoft Corporation. All rights reserved.
The Global Assembly Cache contains the following assemblies:
Oracle.DataAccess, Version=2.112.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342, processorArchitecture=AMD64
Oracle.DataAccess, Version=2.112.4.0, Culture=neutral, PublicKeyToken=89b483f429c47342, processorArchitecture=AMD64
Oracle.DataAccess, Version=2.112.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342, processorArchitecture=x86
Oracle.DataAccess, Version=2.112.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342, processorArchitecture=x86
Oracle.DataAccess, Version=2.112.4.0, Culture=neutral, PublicKeyToken=89b483f429c47342, processorArchitecture=x86
Oracle.DataAccess, Version=4.112.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342, processorArchitecture=AMD64
Oracle.DataAccess, Version=4.112.4.0, Culture=neutral, PublicKeyToken=89b483f429c47342, processorArchitecture=AMD64
Oracle.DataAccess, Version=4.112.4.0, Culture=neutral, PublicKeyToken=89b483f429c47342, processorArchitecture=x86
Number of items = 8
C:\>