开始用简单的答案:
不,你没有安装Oracle数据库服务器上的任何ODAC(最有可能的,他们可能无论如何被默认安装)
你所拥有的Visual Studio并不重要,在Oracle安装方面它们都是一样的。
现在关于你的错误:
“微软.NET Framework数据提供程序的Oracle”,即System.Data.OracleClient
是deprecated的年龄,你不应该在新的项目中使用它。您应该使用Oracle提供程序“用于.NET的Oracle数据提供程序”(ODP.NET),因此通过从Oracle下载ODAC,您一直处于正确的道路上。
当你喜欢使用ODP.NET时,你还必须安装一个Oracle客户端,否则它不起作用(这个要求也适用于System.Data.OracleClient
,这是你得到的实际错误)。
您可以安装“Oracle Instant Client”和ODP.NET,也可以下载完整的Oracle客户端,在其中进行“自定义”安装。您必须至少启用组件“Oracle Data Provider for .NET”。
在任何地方都有相同的体系结构很重要,例如Oracle客户机,ODP.NET和您的应用程序必须完全相同 - 无论是x86还是x64(“AnyCPU”意味着当今64位Windows上的x64)。如果您必须同时支持x86和x64,请按照this instruction在一台机器上安装x86和x64。
另一种可能性是使用“ODP.NET托管驱动程序”,这个只是一个.dll,不需要进一步安装Oracle客户端。与“ODP.NET”不同,“ODP.NET托管驱动程序”不依赖于体系结构,即它适用于x86和x64。
无论你的数据库是32位还是64位。这适用于上述所有内容。
哪个版本具有Oracle数据库服务?你下载了哪个ODAC?您只需要在客户端上使用ODAC,而不是在数据库服务器上。 – miracle173
@ miracle173 >> Oracle数据库11g版本11.2.0.4.0 - 64位生产 – itsmePJ
Wernfried Domscheit指出,我引用的解决方案已过时。他是对的,我尝试了* ODAC 11.2 Release 5和Oracle Developer Tools for Visual Studio(11.2.0.3.20)*程序'setupt.exe',它立即要求我提供管理员用户。所以我删除了我的答案。 – miracle173