ODP.NET是否需要安装Oracle客户端

ODP.NET是否需要安装Oracle客户端,.net,oracle,odp.net,oracleclient,.net,Oracle,Odp.net,Oracleclient,我必须从.NET代码连接Oracle 11g DB。为此,我在阅读了一些论坛帖子后安装了ODP.NET bur,我意识到我也需要安装Oracle客户端 这是真的吗?我看到Oracle客户端的大小约为2GB!!!我真的需要安装这么大的客户端才能连接Oracle DBs吗?最新的ODAC版本附带Oracle instant client,因此您不需要安装完整的客户端 () ()ODP.NET确实需要本机OCI DLL(~130MB) 获取所有必要文件的最简单方法可能是从Oracle.com下载“Or

我必须从.NET代码连接Oracle 11g DB。为此,我在阅读了一些论坛帖子后安装了ODP.NET bur,我意识到我也需要安装Oracle客户端


这是真的吗?我看到Oracle客户端的大小约为2GB!!!我真的需要安装这么大的客户端才能连接Oracle DBs吗?

最新的ODAC版本附带Oracle instant client,因此您不需要安装完整的客户端

()


()

ODP.NET确实需要本机OCI DLL(~130MB)

获取所有必要文件的最简单方法可能是从Oracle.com下载“Oracle Data Access Components with XCopy deployment”

ODP.NET在运行时使用以下DLL供您参考:

oci.dll
Oracle.DataAccess.dll (the managed ODP.NET assembly itself)
orannzsbb11.dll
oraociei11.dll
OraOps11w.dll

顺便说一句,无论您使用的是32位还是64位本机Oracle DLL,您都需要小心—您必须将它们与托管代码的“位”匹配。如果您正在为“任何CPU”构建,因此比特数是不固定的,那么这一点尤其棘手。

您也可以使用NuGet获得托管ODP.NET

使用ODP.NET托管驱动程序观看快速入门视频!(抄自)


更新:

官方Oracle ODP.NET的NuGet,托管驱动程序

或包管理器控制台

PM> Install-Package Oracle.ManagedDataAccess

2013年8月,Oracle的Alex Keh表示:

托管ODP.NET已发布。它目前是Oracle DB 12c的一部分 客户要使用托管ODP.NET,您必须下载并安装 数据库客户端。从那里,您可以只提取托管ODP.NET 程序集和安装文件。这些文件小于10 MB,可以 部署到任何目标机器

目前,我们正在打包一个独立的托管ODP.NET发行版和 ODAC 12版本将更小。这将于 很快

如果您可以等几天,ODAC 12c将在OTN上发布,您可以下载该版本。这将是我们最新和最伟大的作品 托管ODP.NET版本

====

我们不打算在NuGet上安装托管ODP.NET。我们认为 使用ODAC管理ODP.NET下载将提供与 NuGet在程序集隔离和下载大小方面的优势

有一个帖子在讨论Oracle是否应该提供托管服务 NET NuGet支持。一旦您使用ODAC 12c,我想知道 你对NuGet支持是否仍然必要的想法。

:

那么到底是什么问题呢?
基本上到目前为止,ODP.NET是一个与Oracle客户端.dll文件通信的.NET层,这是一个具有许多含义的小事实:

  • 安装占用空间大(数百Mb)
  • 难以部署到远程计算机-需要在客户端上安装ODP.NET 安装或部署大型文件
  • 在使用多个版本、32位/64位操作系统和应用程序时具有挑战性
那是什么呢?

托管驱动程序基本上是单个.dll文件,带有ODP.Net的.Net本机实现。
这意味着不需要Oracle客户机,现在本机代码就在幕后。XCopy安装可以很容易地完成

主要好处:

  • 小脚印
  • 编译为任何cpu,因此可以在32位/64位操作系统上工作 并且应用顺利。易于在服务器上管理多个版本 同一台机器
  • 可以作为应用程序中的简单引用进行部署 bin目录
有什么收获吗?

  • 并非所有功能都受支持(尽管大多数功能都是…)您可以 你可以在网上找到更多信息
  • 命名空间已从更改为 Oracle.DataAccess.Client到Oracle.ManagedDataAccess.Client
  • 性能差异仍然不清楚。(旧)本机代码 始终高效地执行,但另一方面,100%管理 代码有它的性能优势
请注意,本机代码ODP.NET仍然非常可用。托管版本(至少目前是这样)是对本机版本的补充

参考资料:

ODP.NET托管驱动程序和非托管驱动程序之间的差异

针对.NET的Oracle数据提供程序的功能

使用现在可用的。受管理的AnyCPU 6MB dll。

我留下这个答案是因为随着ODP.net托管驱动程序的发布,旧的答案现在有点过时了

ODP.net托管驱动程序现已发布。
  • 重要信息:实体框架设计时功能需要32位Oracle Developer Tools for Visual Studio下载。下面支持实体框架部署的下载不包含设计时工具,只包含运行时支持

当前可用的ODAC 12cR2版本向后兼容Oracle 10gR2或更高版本。请参阅的“系统要求”部分。ODAC 12cR2需要/支持从版本4到4.5.1的.Net框架

以前版本的ODAC 12cR1也可以向后兼容Oracle 10gR2或更高版本,这取决于它的性能。

它适合我(没有Oracle客户端的PC):

编辑:

尽管该解决方案效果良好; 今天,我认为最好的方法是使用Oracle管理的数据访问驱动程序。当我们需要避免桌面和服务器环境之间的问题时,如果其中一个环境不使用相同的(32位或64位)体系结构,是否更好

感谢Iron自动化:

链接:

下面的解决方案将同时适用于11g和12c数据库

按照以下步骤操作:

  • 第一步

    我们将需要一套由Oracle提供的DLL用于我们的项目。因此,在这第一步中,请下载适用于您的Windows版本的Oracle数据访问组件(ODAC)。截至本文发布日期,有效的下载URL为:

    注意:ODAC 32位版本适用于32位和64位。
    PM> Install-Package Oracle.ManagedDataAccess
    
    PM> Install-Package Oracle.ManagedDataAccess
    
        \instantclient_12_2\ 
            oci.dll  
            orannzsbb12.dll  
            oraocci12.dll  
            oraocci12d.dll  
            oraociei12.dll  
            oraons.dll  
    
        \oramts\bin\  
            oramts.dll  
            oramts12.dll  
            oramtsus.dll  
    
        \odp.net4\odp.net\bin\4\  
            Oracle.DataAccess.dll  
    
        \odp.net4\bin\  
            OraOps12.dll  
    
        ------------------------------- ------------------- ----------- ----------------- --------------------------- ----------------------- 
        Name                            Date modify         Size        Version           Folder                      Type                  
        ------------------------------- ------------------- ----------- ----------------- --------------------------- ----------------------- 
        Oracle.DataAccess.dll           24/05/2017 16:46    2.100 KB    4.122.1.0         
    
        ------------------------------- ------------------- ----------- ----------------- --------------------------- ----------------------- 
        Name                            Date modify         Size        Version           Folder                      Type                  
        ------------------------------- ------------------- ----------- ----------------- --------------------------- ----------------------- 
        oci.dll                         13/02/2017 23:31    1.270 KB    12.2.0.0          InstantClient_12_2          Extensão de aplicativo    
        ociw32.dll                      13/02/2017 22:20      346 KB    11.1.0.1          InstantClient_12_2          Extensão de aplicativo    
        orannzsbb12.dll                 05/12/2016 18:38    4.329 KB    12.2.0.1          InstantClient_12_2          Extensão de aplicativo    
        oraocci12.dll                   13/02/2017 21:29    1.006 KB    12.2.0.1          InstantClient_12_2          Extensão de aplicativo    
        OraOps12.dll                    24/05/2017 16:45      433 KB    2.122.1.0         InstantClient_12_2          Extensão de aplicativo    
    
    
        ------------------------------- ------------------- ----------- ----------------- --------------------------- ----------------------- 
        Name                            Date modify         Size        Version           Folder                      Type                  
        ------------------------------- ------------------- ----------- ----------------- --------------------------- ----------------------- 
        Oracle.ManagedDataAccess.dll    24/05/2017 16:07    4.763 KB    4.122.1.0