安装完整版Oracle客户端和安装Oracle Odac之间有什么区别?要在我的开发工作站上进行.NET开发,我需要在将与另一台服务器上的Oracle数据库连接的web应用程序服务器上使用哪一项?
发布于 2015-03-26 07:21:32
Oracle包括Oracle for .NET、Oracle for Visual Studio (ODT)、Oracle for ASP.NET、.NET存储过程支持,以及其他适用于Windows的Oracle数据访问软件。
-甲骨文的site。
完整的Oracle客户端包括许多额外的软件,例如SQLPlus、SQL Developer等。
无论如何,这几乎是无关紧要的。在Oracle中获得数据库驱动程序的标准方法是使用NuGet,而.NET有一个没有外部依赖项的official managed driver,这是最简单的入门方法。您可以通过NuGet将该包添加到您的应用程序中,当您发布它时,所需的DLL将包含在您的应用程序中,而无需专门配置服务器。
发布于 2017-01-17 12:49:02
这很让人困惑,重新写下来对我很有帮助。
我的总结是:
Oracle只公开直接的 (Oracle Call Interface) API,因此只与支持
因此,对于大多数.net用户来说,'Oracle Client‘意味着安装了OUI的ODAC Instant Client + .Net驱动程序,也可能是ODT。
对于nugets来说,值得指出的是,即使是现在(2017年1月),Oracle.ManagedDataAccess驱动程序仍然不能执行大量的stuff#2操作,因此Oracle.DataAccess + InstantClient并不是一个完全过时的选择。如果您只是使用SELECT/INSERT或普通的ADO.Net进行读写,那就没问题了。我听说EF的支持也比以前好多了。DevArt的dotConnect驱动程序是另一个(非常好的)选择。
还有一个用于Oracle即时客户端的nuget包,但我不知道它是用来做什么的。大概是Win32/.Net原生OCI应用程序,需要通过nuget的零安装即时客户端。他们两个都是。
#1SQL*Plus在运行时可能很少使用,不过如果您想要将其添加到现有的separate installer安装中,Instant Client下载页面上会列出一个ODAC。
#2例如:使用表值UDT调用oracle存储过程
https://stackoverflow.com/questions/29268299
复制相似问题