现在的位置: 首页 > 综合 > 正文

关于oracle的底层接口:OCI, occi, 和OO4O

2013年02月09日 ⁄ 综合 ⁄ 共 1849字 ⁄ 字号 评论关闭

关于oracle的底层接口:OCI和OO4O的问题,欢迎指教!

楼主ivy_go(云门舞集)2002-04-23 21:07:07 在 其他数据库开发 / SQL Anywhere Studio 提问

我现在想用VC做数据库访问,以前用过ODBC,但是速度太慢,  
  搜了一下以前的帖子,好像OCI比较快,还有人讲过OO4O也很好用,  
  我快速地翻了翻ORCLE的联机文档,里面有一些例子和帮助,很高兴,  
  但是希望大家能给我一些意见和建议,关于二者的使用,  
  谢谢! 问题点数:100、回复次数:17Top

1 楼flowerofwind(现实很残酷)回复于 2002-04-23 21:56:57 得分 40

要快速灵活的与oracle交互,最好用oci接口,好多的数据库中间件都用oci开发的,并且我也觉得很好用,当然需要你画一些功夫在接口的设计 封装上,甚至你可以设计和JDBC类是的接口,如果你用oracle9i,里面有occi,使用c++封装好的,可以直接使用  
  另外,请问OO4O是什么啊?Top

2 楼yfr(阿毛)回复于 2002-04-23 22:00:54 得分 40

先说OCI,全称:ORACLE   CALL   INTERFACE,是基于C语言的接口,效率高,功能强大,支持数组接口,但函数多,有些函数的参数比较多,且使用自定义的数据类型,比较复杂。

OO4O(Object   Oriented   for(four的谐音)Ole)   是以OCI作为底层与数据库的接口,是通过COM封装以后的形式,可以在VC,VB   ,   ASP中使用。而且是以面向对象的方式(即是封装好的一个一个的类)提供给你用的,比较容易上手,但因为使用了COM机制,其性能上有影响。这两种接口都 是ORACLE的专用接口,如果你需要数据库可移植,则不能使用这种专用接口。如果你能搞懂OCI,强烈建议使用OCI;如果在接口性能上要求不高,使用 OO4O就满好的了!Top3 楼

jlandzpa(jlandzpa)回复于 2002-04-23 22:01:26 得分 20

Oracle   Objects   for   OLE   (OO4O)   is   an   Oracle   middleware   that   allows   native   access   to   Oracle   from   client   applications   using   the   Microsoft   Object   Linking   and   Embedding   (OLE)   standard.   But   performance-wise   it   is   better   than   Open   DataBase   Connectivity   (ODBC),   a   standard   database   access   method   developed   by   Microsoft   Corporation,   to   access   Oracle.   OO4O   is   thread   safe   and   provides   full   support   for   PL/SQL.   Connection   pooling   is   also   available   with   later   versions   of   OO4O.    
  Top

7 楼flowerofwind(现实很残酷)回复于 2002-04-24 20:12:26 得分 0

是的occi是封装好的c++类

8 楼flowerofwind(现实很残酷)回复于 2002-04-24 20:17:26 得分 0

支持数组接口的意思就是说好比你需要将文本文件的数据批量导入到数据库,你可以一条一条的插入,但是很慢,oci提供的数组接口可以让你批量插入,相当于bcpTop

12 楼chfhy(春风化雨)回复于 2002-04-27 08:59:13 得分 0

提点建议:因为OCI接口使标准的,你可以先在WINDOWS端用VC开发好访问数据库的端口Top

13 楼yfr(阿毛)回复于 2002-04-27 11:45:02 得分 0

所谓数组接口就是说可以使用一条语句操纵多条纪录(主要对于INSERT,UPDATE和DELETE语句而言.例如:  
  insert   into   tab_name   values(:col_a,:col_b,:col_c);  
  如果占位符col_a,col_b,col_c中至少有一个帮定的是标量数据(非数组),则一次只能插入一条纪录;如果这些占位符绑定的是数组,则可以一次插入多条纪录(如果各个数组中元素的个数不一致,则插入的条数等于所含元素个数最少的数组中的元素个数)Top

抱歉!评论已关闭.