oledb应该是Microsoft的数据库连接,oracleclient是Oracle自带标准的数据库客户端连接,从访问效率上应该是oracleclient要好些。

解决方案 »

  1.   

    OracleClient是一种.NET Framework 数据提供程序OracleClient .NET Framework 数据提供程序使用它自身的协议与Oracle通讯
    Ole DB 通过OLE DB 服务组件 和 OLE DB 提供程序与 Database进行通信,也就是需要安装MDAC.
    因此OracleClient比oledb具有更好的性能OracleClient是微软提供的,不是Oracle自带的,Oracle自带的叫ODP.net(Oracle Data Provider for .net)
      

  2.   

    http://www.fawcette.com/china/print.aspx?TotalPage=6&ID=76
      

  3.   

    请问通过微软提供的oracleclient访问后台的oracle数据库,出现乱码怎么解决?同样的环境,我用oledb就没有问题!!!
      

  4.   

    http://www.fawcette.com/china/print.aspx?TotalPage=6&ID=76
      

  5.   

    我怎么感觉上面说的都好像有问题。
    首先,访问oracle数据库都要通过sql*net,这是oracle网络通讯的基础。因此,oledb是为ado数据访问接口标准提供的,而oracle.net(microsoft也为oracle开发提供了oracle.net,.net framework 1.0也可以用)/oracleclient是为了.net开发提供的。但是最终都必须通过sql*net的底层API。
    那么,如果有性能差异的话,也应该是oledb provider和oracle.net代码的问题。
    因此,也自然容易理解为什么一个出线的乱码的问题。oracleclient采用的内部编码可能不能直接显示中文,像iso8859之类的,你需要自己做内部编码到中文的自动转换(用.net的),而oledb可能本身用的内部编码就能够支持中文的正确显示。
    .net中通过system.text.encoding类库函数来进行转换。
      

  6.   

    有没有人用过corelab的oradirect访问oracle的数据提供程序,使用他的datareader的时候怎么一次最多读取八列数据,详细请见
    http://expert.csdn.net/Expert/topic/3044/3044274.xml?temp=.3908808
      

  7.   

    corelab的oradirect访问oracle的数据提供程序,最多读取8列是因为这个组件是DEMO版,DEMO版只能读取8列。