zoukankan      html  css  js  c++  java
  • .net中访问oracle数据库的几种方式(转载)

    1.ODBC方式
    我们可以在"我的电脑->控制面板->(性能和维护->)管理工具->数据源(ODBC)->系统DSN->添加",查看系统中已经安装好的ODBC驱动,其中就包含了“Microsoft ODBC Driver for Oracle”。
    连接字符串格式:
    Driver={Microsoft ODBC for Oracle};Server=myServerAddress;Uid=myUsername;Pwd=myPassword;
    要求:必须安装oracle 7.3版(或更高)的客户端。

    2.OLEDB方式
    请大家打开注册表编辑器regedit,搜索oracle即可以搜索到以下键:
    Microsoft OLE DB Provider for Oracle
    HKEY_CLASSES_ROOT\CLSID\{e8cc4cbe-fdff-11d0-b865-00a0c9081c1d}\OLE DB Provider
    HKEY_CLASSES_ROOT\MSDAORA
    所以,只要你安装了合适版本的MDAC,那么起码就已经可以使用OLEDB来访问ORACLE了。
    连接字符串格式:
    Provider=msdaora;Data Source=MyOracleDB;User Id=myUsername;Password=myPassword;
    要求:必须安装oracle 8i版(或更高)的客户端。

    3.System.Data.OracleClient方式
    以上2种都是比较通用的方式,我们再来看看M$专门为ORACLE写的类。
    请大家打开MSDN2005,输入地址
    ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.VisualStudio.v80.chs/WD_ADONET/html/054f76b9-1737-43f0-8160-84a00a387217.htm(您也可以通过目录、索引或者搜索来找到)
    《Oracle .NET Framework 数据提供程序的系统要求》(即System.Data.OracleClient命名空间中的类),摘要如下:
    Oracle .NET Framework 数据提供程序需要 Microsoft 数据访问组件 (MDAC) 2.6 版或更高版本。建议使用 MDAC 2.8 SP1。
    还必须安装 Oracle 8i Release 3 (8.1.7) 客户端或更高版本。
    Oracle 9i 版本之前的 Oracle 客户端软件无法访问 UTF16 数据库,因为 UTF16 是 Oracle 9i 中的一项新功能。要使用此功能,必须将客户端软件升级到 Oracle 9i 或更高版本。
    哈哈,M$其实没有我们想象中的勤奋,他只是帮ORACLE CLIENT做了个包装而已。

    4.Oracle Data Provider for .net(ODP.NET)
    我们再到ORACLE的老家转转,可以发现他在很多地方都吹嘘ODP.NET,看看它有些什么要求才能用吧。
    请大家在浏览器中输入地址(ORACLE的网站有点慢,请不要急)
    http://www.oracle.com/technology/tech/windows/odpnet/faq.html#install
    Q: What do I need to have installed on my client machine to have ODP.NET work?
    A: You will require the following:
    Windows 2000, Windows XP Professional, or Windows Server 2003
    Microsoft .NET Framework 1.0 or higher
    Oracle9i Client Release 2 (9.2) or higher
    Oracle Net Services (included with the client)
    Oracle Services for Microsoft Transaction Server, Release 2 (9.2) or higher. This is required for applications using distributed transacations.
    简单翻译:
    如果你用ODP.NET来访问ORACLE数据库,你需要以下条件:
    操作系统:WIN2K XP 2003
    .NET FRAMEWORK 1.0以上
    ORACLE9I以上的客户端
    连接字符串格式:
    Data Source=MyOracleDB;User Id=myUsername;Password=myPassword;Integrated Security=no;

    5.Core Labs OraDirect (.NET)
    http://www.connectionstrings.com/上发现了一个不用安装oracle客户端而直接访问oracle的.net类库,可以免费使用一个月,但是价格比较贵。网址是:http://crlab.com/oranet/,如果有兴趣可以去看看。
    连接字符串格式:
    User ID=myUsername;Password=myPassword;Host=ora;Pooling=true;Min Pool Size=0;Max Pool Size=100;Connection Lifetime=0;
    要求:花钱购买类库

    6.第3方的观点:
    http://www.fawcette.com/vsm/2003_07/magazine/columns/databasedesign/
    有一篇文章叫<<Take Advantage of Oracle in .NET>>
    讲了如何在可视环境下(也就是用鼠标点、拖等操作)访问ORACLE 。

    好了,现在来做个总结。
    访问方式 连接字符串 要求
    ODBC Driver={Microsoft ODBC for Oracle};Server=myServerAddress;Uid=myUsername;Pwd=myPassword; Oracle Client 7.3以上版本
    OLEDB Provider=msdaora;Data Source=MyOracleDB;User Id=myUsername;Password=myPassword; Oracle Client 8i以上版本
    System.Data.OracleClient Provider=msdaora;Data Source=MyOracleDB;User Id=myUsername;Password=myPassword; MDAC 2.6
    Oracle Client 8i Release 3 (8.1.7) 以上版本
     
    ODP.NET Data Source=MyOracleDB;User Id=myUsername;Password=myPassword;Integrated Security=no; Oracle Client 9i以上版本
    OraDirect .net User ID=myUsername;Password=myPassword;Host=ora;Pooling=true;Min Pool Size=0;Max Pool Size=100;Connection Lifetime=0; 不需要安装Oracle客户端
    必须购买许可证

    好了,感谢您坚持看完本文,希望没有浪费您的时间,对您有所帮助。

    本文来自CSDN博客,转载于:http://blog.csdn.net/zhubaiming/archive/2007/09/01/1768760.aspx

  • 相关阅读:
    Mybatis与Hibernate概述
    Linux命令中:rsync和scp之间的区别
    更改了ssh文件下,还没有权限
    karaf 控制台 常用linux指令(2)
    karaf 控制台 常用linux指令(1)
    POM文件详解(2)
    POM文件详解(1)
    maven配置parent pom查找策略
    排序算法性能比较
    Eclipse下用NDK编译生成so文件
  • 原文地址:https://www.cnblogs.com/zhaoguo435/p/1646603.html
Copyright © 2011-2022 走看看