zoukankan      html  css  js  c++  java
  • .net(C#)访问Oracle数据库的几种免安装组件的对比

    Oracle 数据存取组件(ODAC) 库为Borland Delphi,C++ Builder 以及 Kylix提供了一些非可视化的组件。它们用来存取Oracle关系数据库系统。与BDE类似, ODAC 也是一种可供选择的处理数据的方法之一。

    ODAC 直接使用 Oracle 调用接口 (OCI). OCI 是一种允许应用程序开发人员使用第三方开发语言存取Oracle数据服务器的过程或函数以及控制所有的SQL语句执行状态的应用程序接口(API)。 OCI 通过一个动态运行库(ORA*.DLL)提供了一个标准的数据库存取库及函数,以在应用程序中建立连接。也可以使用ODAC的Net选项而无需在客户机上 安装Oracle客户端来连接到Oracle.在这种情况下,ODAC仅需要TCP/IP协议的支持,从而可以创建真正的、最小的数据库应用程序。

    与使用BDE开发 Oracle C/S(客户/服务器)应用程序不同的是,BDE不能存取Oracle的一些特殊功能,不能使用更多的资源,不能高速处理数据,而且不定期有麻烦的应用程序分发以及管理。

    .net(C#)编程过程中,使用到了以下三种免安装的Oracle访问组件,能够不安装Oracle客户端,通过这些组件访问Oracle数据库


    1:Oracle Data Provider for  .NET, Managed Driver:
    Oracle官方的托管数据库访问组件,单DLL,Oracle.ManagedDataAccess.dll,直接引用即可,用法及相关文档:http://www.oracle.com/technetwork/issue-archive/2014/14-mar/o24odp-2147205.html

    2:Oracle Data Access Components
    同样是Oracle官方提供的数据库访问组件,为非托管的,但Oracle提供了.net的Wrap Dll,也就是Oracle.DataAccess.dll,这个组件本来是需要安装的,但也可以通过
    一定处理,弄成免安装直接使用的,方法见:http://blog.csdn.net/rrrrssss00/article/details/7178515

    3:DataDirect ODBC drivers from Oracle
    第三方的托管数据库访问组件,也就是大名鼎鼎的DDTek.Oracle.dll,免安装,直接使用,非常方便,使用方法:http://blog.csdn.net/rrrrssss00/article/details/5757301


    对比1:获取方便性
    前两种为Oracle官方提供,均为免费下载,网址为http://www.oracle.com/technetwork/topics/dotnet/utilsoft-086879.html,ODAC的包里既有托管,也有非托管
    第三种,DDTek为商业软件,需要购买,也可以免费试用(网上也有破解)

    总结:1等于2优于3  (使用破解的话就都一样了。。。)

    对比2:使用便利性
    第一种:单DLL,直接引用即可
    第二种:参考上面的用法文章,需要从ODAC包里不同子压缩包中找到多个依赖的DLL文件,放在一起方可使用,略有不便,而且不同版本的ODAC,依赖DLL的数量和各DLL文件的位置还不一样。。。。
    第三种:单DLL文件加许可文件,也是直接引用

    总结:1等于3优于2(ODAC找起DLL来确实麻烦)


    对比3:功能性
    第一种,ODP Managed Driver,有一部分功能在这个托管版本里并没有实现,详细参考:http://www.oracle.com/technetwork/database/windows/downloads/odpmbetainstall-1696475.html#Known%20Issues  这个网页的最后两个表格,比如BulkCopy和CustomType之类的都是不支持的
    第二种,ODAC,这个功能是最多的
    第三种,DDTek,这个也是全托管,有一部分功能限制,但是比第一种的功能略多一些,比如BulkCopy这个是支持的

    总结:2优于3优于1

  • 相关阅读:
    ajax提交form表单
    数组算法
    option标签如何获取显示信息
    web.xml的作用
    getServletContext()和getServletConfig()及JAVA当前路径解决
    js提交表单
    Apache Commons fileUpload实现文件上传
    笔记本电脑突然没有声音
    作业调度方案题解
    VScode运行python文件无反应(使用Code Runner)
  • 原文地址:https://www.cnblogs.com/hbwqljl/p/3709805.html
Copyright © 2011-2022 走看看