oledb应该是Microsoft的数据库连接,oracleclient是Oracle自带标准的数据库客户端连接,从访问效率上应该是oracleclient要好些。
解决方案 »
- 疑难杂症: ORA-01438: value larger than specified precision allowed for this column
- 修改控制文件目录报错,不知道为何?
- 一直报ORA-00911: 无效字符,但是自己没找出来
- 高薪诚聘数据库开发人员
- 多用户环境的多点大量查询操作会影响其它点的数据更新速度吗?
- 怎样把建表的语句放在一个存储过程里面,每次执行即可,谢谢!!!
- 用dbca创建数据库的问题!
- 求助SQL SERVER下的Set NOCOUNT ON对应Oracle下的命令是什么?
- 在oracle中不能修改列名
- oracle的基本问题,
- 关于group by 的一个很简单的问题:)
- 重做段和回滚段 区别
Ole DB 通过OLE DB 服务组件 和 OLE DB 提供程序与 Database进行通信,也就是需要安装MDAC.
因此OracleClient比oledb具有更好的性能OracleClient是微软提供的,不是Oracle自带的,Oracle自带的叫ODP.net(Oracle Data Provider for .net)
首先,访问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类库函数来进行转换。
http://expert.csdn.net/Expert/topic/3044/3044274.xml?temp=.3908808