oracleobjectsforole及在vb中的应用

oracleobjectsforole及在vb中的应用

ID:21192105

大小:214.50 KB

页数:5页

时间:2018-10-20

oracleobjectsforole及在vb中的应用_第1页
oracleobjectsforole及在vb中的应用_第2页
oracleobjectsforole及在vb中的应用_第3页
oracleobjectsforole及在vb中的应用_第4页
oracleobjectsforole及在vb中的应用_第5页
资源描述:

《oracleobjectsforole及在vb中的应用》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、OracleObjectsforOLE及在VB中的应用一般说来,访问远程后台数据库我们都是通过ODBC来完成的。但是,ODBC有一个致命的缺点——速度慢。事实上,对于ORACLE数据库,除了ODBC,我们还可以利用ORACLE本身所提供的OLE对象(OracleObjectsforOLE)来实现快速访问有关数据库。在ORACLEV8中,OracleObjectsforOLE(以下简称00)为常用开发工具提供了一整套与数据库简单相连的通讯访问方式,它支持各种支持VB自定义控件或OLE自动化(OLEAutomation)的开发环境。00主要由三部分组成:•ORACL

2、E对象服务器(theOracleObjectServer)•ORACLE数据访问控件(theOracleDataControl)•C++类库(theOracleObjectsforOLEC++ClassLibrary)00主要包括对象和用途:OraClient定义工作域,并管理会话集。OraSession管理数据库对象集,并提供共享式连接和事务控制OraConnection与ORACLE数据之间建立的连接。OraDatabase对ORACLE数据库的一个“虚”登录。OraParamArray参数组。OraParameter绑定在SQL语句或PL/SQL块屮的有关

3、变量。OraDynaset利用SELECT语句所得到的记录。OraSQLStmt预定义的单独的一句SQL语句。OraFieldOraDynaset对象中的列(Column)。下图展示了OO的三种组成部分与ORACLE数据库之间的关系。Client:..........sQL*NetandNetworkServer下图是各对象之间的关系:OraClientz下面以VB为例,主要讲一下ORACLE对象服务器(theOracleObjectServer)和ORACLE数据访问控件(theOracleDataControl)的有关成用。一、ORACLE数据访问控件(th

4、eOracleDataControl)要在VB中使用数据访问控件ORADC(OracleDataControl)须先在项目(Project)中加入部件ORADC.OCX(通常它放在ORACLE的缺省路径下的BIN目录下),然后在FORM上加入一个ORADC,查看它的有关属性,可以看到,它与VB所带的RDO(RemoteDataObject)相同,存Connect和DatabaseName两个属性。但注意,此处的属性的填写与RDO不同,DATABASE处加入的是在ORACLE设置中所命名的HostString,而Connect则需填入用户名和口令,如:•••*设置

5、用户名和口令oradatal.Connect=’’UserName/Password”1设置数据库名oradata1.DatabaseName="DBName"1指定表oradatal.RecordSource="select*frommyTable”1刷新数据oradatal.Refresh•••其它操作均与RemoteDataControl相同。二、ORACLE对象服务器(theOracleObjectServer)在VB里,OraSession、OraDataBase、OraDynaset分别与VB内置的RDO对象rdoConnection、rdoEnvi

6、ronment、rdoResultset相类似,不同的只是它们的定义方式不同。*定义OLE对象变量DimOraSessionAsObjectDimOraDatabaseAsObjectDimOraDynasetAsObject•建立OraSession对象。注意,该对象只需建立一次。SetOraSession=CreateObject("OracleInProcServer.XOraSession")1建立与ORACLE数据库的连接SetOraDatabase=OraSession.DbOpenDatabaseC'DBName","UserName/Passwo

7、rd",0&)•建立OraDynaset对象SetOraDynaset=OraDatabase.DbCreateDynaset(’’select*fromtablename",0&)*幵始一个事务OraSession.DbBeginTransDoUntilOraDynaset.EOFIfOraDynaset.Fields(“myFieldl”).value<100ThenGotoTranErrOraDynaset.DbEditOraDynaset.Fields("myFieldln).value=0OraDynaset.DbUpdateOraDynaset.Db

8、MoveNextLoop

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。