Oracle客户端和ODAC之间的区别

Oracle客户端和ODAC之间的区别,oracle,odac,Oracle,Odac,安装完整Oracle客户端和Oracle Odac安装之间有什么区别?我需要在我的开发工作站上进行.NET开发,在与另一台服务器上的Oracle数据库连接的web应用程序服务器上需要哪些 ODAC包括用于.NET的Oracle数据提供程序、Oracle开发人员工具 对于Visual Studio ODT,存储了ASP.NET、.NET的Oracle提供程序 程序支持,以及其他Oracle数据访问软件 对于Windows -甲骨文的 完整的Oracle客户端包括许多额外的软件,例如SQLPlus、

安装完整Oracle客户端和Oracle Odac安装之间有什么区别?我需要在我的开发工作站上进行.NET开发,在与另一台服务器上的Oracle数据库连接的web应用程序服务器上需要哪些

ODAC包括用于.NET的Oracle数据提供程序、Oracle开发人员工具 对于Visual Studio ODT,存储了ASP.NET、.NET的Oracle提供程序 程序支持,以及其他Oracle数据访问软件 对于Windows

-甲骨文的

完整的Oracle客户端包括许多额外的软件,例如SQLPlus、SQL Developer等


无论如何,这基本上是无关紧要的。在.NET中获取数据库驱动程序的标准方法是使用NuGet,Oracle有一个没有外部依赖项的驱动程序,这是最简单的入门方法。您可以通过NuGet将该软件包添加到应用程序中,发布应用程序时,必要的DLL将包含在应用程序中,而无需专门配置服务器。

这非常令人困惑,再次写下它对我有帮助

我的总结:

Oracle Instant Client仅公开直接OCI Oracle调用接口API,因此仅与Oracle感知应用程序相关,例如, ODAC包括即时客户端,以及一系列面向Microsoft的API,这些API位于.net提供程序、ASP.net成员资格提供程序、OLEDB驱动程序、ODBC驱动程序、MTS事务协调器之上,涵盖了大多数Windows应用程序场景中所需的内容。如。ODAC有两种风格:“xcopy”版本和OUI Oracle通用安装程序版本,只有OUI版本包含SQL*Plus[1] ODT Oracle Developer Tools for.Net提供了Visual Studio集成,通常与ODAC捆绑在一起,您可以下载一个名为ODTwithODACxxxx.zip的文件 nuget软件包是ODAC.net驱动程序的一个版本,因此需要现有的即时客户端安装ie使用OCI。令人困惑的是,在某一点上,它被标记为托管驱动程序,因为它只是有一些重要的非托管本地依赖项。 nuget包是一个完全托管的.net驱动程序,在“直接”模式下工作,不需要本地即时客户端 因此,对于大多数.net用户来说,“Oracle客户端”意味着OUI安装了ODAC Instant Client+.net驱动程序,也可能是ODT

对于Nuget来说,值得指出的是,即使到了2017年1月,Oracle.ManagedDataAccess驱动程序仍然无法完成大量工作[2],因此Oracle.DataAccess+InstantClient并不是一个完全过时的选项。如果您只是使用SELECT/INSERT或香草ADO.Net进行读写,您就可以了。我听说EF的支持也比以前好多了。DevArt的dotConnect驱动程序是另一个非常好的选择

Oracle即时客户端也有一个nuget包,但我不知道它的用途。可能是Win32/.Net本机OCI应用程序,它们希望通过nuget实现零安装即时客户端。他们两个

[1] SQL*Plus在运行时可能很少使用,不过如果您想将其添加到现有ODAC安装中,即时客户端下载页面上会列出一个


[2] 例如:使用表值UDT调用oracle存储过程

我们正在将服务器从win 2003转换为win 2012,因此可以指定oracle服务器安装所需的内容。在我们的例子中,我们有许多网站构建为x86应用程序和Oracle.DataAccess驱动程序的2.111.7.20版。这些应用程序没有DLL的本地副本。我们计划在dev和qa Web应用服务器上安装一个完整的客户端-最新版本的完整客户端是否会与旧的2.111.7.20驱动程序向后兼容?对于我们不需要sqlplus的生产环境,建议使用什么版本?@Vincemicio正如我所说,您应该放弃所有这些,使用官方托管驱动程序。然后就没有x86对x64的问题了,因为这都是.NET代码。不幸的是,我们不能对需要迁移的60多个网站进行任何更改,但我们将为我们的新网站使用新的托管驱动程序。所以问题仍然是,在服务器上安装什么才能同时使用新的托管驱动程序和2.111.7.20驱动程序?@Vincemicio击败了我,这不是原始问题的一部分。Ok将稍等片刻,看看是否有其他人响应,然后在必要时将我的后续问题作为新问题发布。您也可以从Oracle页面下载ODP.NET Oracle.ManagedDataAccess和Oracle.DataAccess驱动程序,而不是NuGet: