当前位置:数据库 > Oracle >>

什么是ODAC 它有什么作用

Oracle 数据存取组件(ODAC) 库为Borland Delphi,C++ Builder 以及 Kylix提供了一些非可视化的组件。它们用来存取Oracle关系数据库系统。与BDE类似, ODAC 也是一种可供选择的处理数据的方法之一。

ODAC 直接使用 Oracle 调用接口 (OCI). OCI 是一种允许应用程序开发人员使用第三方开发语言存取Oracle数据服务器的过程或函数以及控制所有的SQL语句执行状态的应用程序接口(API)。OCI 通过一个动态运行库(ORA*.DLL)提供了一个标准的数据库存取库及函数,以在应用程序中建立连接。也可以使用ODAC的Net选项而无需在客户机上安装Oracle客户端来连接到Oracle.在这种情况下,ODAC仅需要TCP/IP协议的支持,从而可以创建真正的、最小的数据库应用程序。

与使用BDE开发 Oracle C/S(客户/服务器)应用程序不同的是,BDE不能存取Oracle的一些特殊功能,不能使用更多的资源,不能高速处理数据,而且不定期有麻烦的应用程序分发以及管理。

使用BDE存取Oracle的方式是:

[Oracle RDBMS] <> [SQL*Net] <> [OCI] <> [SQL Links] <> [BDE] <> [Application]

ODAC 直接使用 OCI。它允许不使用 BDE 及 SQL Links: 

[Oracle RDBMS] <> [SQL*Net] <> [OCI] <> [Application]

ODAC Net 提供了更好的方法: 

[Oracle RDBMS] <> [TCP/IP] <> [Application]

ODAC 包含了以下组件:

TOraSession - 控易做图务连接;

TOraQuery - 执行查询,操作记录集,灵活地更新数据库表;

TSmartQuery - 与 TOraQuery 功能类似,可自动创建 INSERT, DELETE, UPDATE 查询,自动锁定及更新记录;

TOraSQL - 执行SQL语句, PL/SQL 块,存储过程;

TOraPackage - 允许执行包中的过程及函数以及变量;

TOraTable - 允许不需要使用SQL语句来读取及更新单个表;

TOraStoredProc - 执行存储过程和函数,允许编辑游标并可作为参数返回;

TOraNestedTable - 控制嵌套表数据;

TOraProvider - 提供从客户数据集进行数据及应用更新;

TOraScript - 执行 SQL 及 PL/SQL 语句;;

TOraAlerter - 允许在两个会话中传送消息;

TOraLoader - 快速装载Oracle数据库;

TOraSQLMonitor - 允许监视执行基于ODAC应用程序中的动态SQL语句;

TOraErrorHandler - 传送错误信息;

TBDESession - 允许将ODAC集成到基于BDE的应用程序中;

TConnectDialog - 用来输入用户名,口令及服务名;

TCRDBGrid - 增强的 TDBGrid , 提供可视化的的数据过滤及增量查询;

TVirtualTable - 数据存储在内存中。

使用ODAC可以为你提供以下优势:

- 选择Net选项使客户机上不再需要安装 Oracle 客户端;

- 不需要分发,安装及配置 BDE 及 ODBC;

- 你可以使用任何 Delphi/C++ Builder 专业版来开发客户/服务器应用程序;

- 允许你使用许多 Oracle 的特殊功能;

- 支持 Oracle 8 的特殊特性: BLOB, CLOB 以及 BFile 数据类型,对象,数组,引用,嵌套表;

- 简化数据更新;

- 提供两种更新数据的方法:更灵活的 TOraQuery 及更容易的 TSmartQuery;

- 高速数据库记录存取;S

- 提供自动锁定及刷新记录机制;

- 允许通过使用多线程来执行长时间的存储过程;

- 高级设计编辑器;

- ODAC 组件的界面(方法,属性)和标准的BDE数据存取组件(TDatabase,TQuery,..)非常相似;

- 支持所有的数据集组件;

- 使用 OraTools 插件的OraDesigner建立和检查使用OraDesigner的查询,使用OraDebugger设计和调试PL/SQL块以及使用OraExplorer浏览数据库。

兼容性

-------------

ODAC 支持 Oracle 7.3, 8.0, 8i 以及 9i, 包括个人版及简装版。

安装

------------

自 ODAC 3.20 版以后,其运行包和设计包被分离了出来。ODAC 安装程序拷贝这些文件到其相应目录。

odacXX.bpl - ODAC 运行包 (位于 WindowsSystem 目录)

dclodacXX.bpl - ODAC 设计包 (位于 DelphiBin 目录)

odacvclXX.bpl - VCL 支持包 (位于 DelphiBin 目录)

oraprovXX.bpl - TOraProvider 组件 (位于 DelphiBin 目录)

crcontrolsXX.bpl - TCRDBGrid 组件 (位于 DelphiBin 目录)

Delphi

======

要编译基于ODAC的应用程序,需要在项目属性的 Project Options|Search 路径中添加 $(DELPHI)ODACLib。

C++ Builder

===========

要编译基于ODAC的应用程序,需要在项目属性的 Project Options|Library路径中添加 $(BCB)ODACLib,在 Project Options|Include 路径中添加 $(BCB)ODACInclude 。

Kylix

=====

首先你应该取得Kylix IDE 中的ODAC包,使用下面的命令将ODAC包的安装路径添加到指定路径:

PATH=$PATH:<ODAC directory>

另外的方法是将所有的 ODAC 包(*.so)拷贝到任意目录,比如 kylix/bin.现在你可以将ODAC安装到

Kylix IDE 中。请选择Kylix菜单 Component/Install Packages 。按添加按钮并选择 bpldclodacX.包。按OK按钮使组件有效。你也可以将 odac/lib添加到你项目的探索路径中。

TOraProvider 组件

======================

如果你使用企业版的Delphi 或C++ Builder,你可以单独安装TOraProvider 组件。你要做的就是编译并安装 oraprovXX.bpk 包。

OraTools 插件

===============

自 ODAC 3.50 版以后,不再包含设计包 oratoolsXX.bpl. OraTools 现在被作为一个独立的插件来提供。它被安装一次即可在Delphi 和 C++ Builder 下使用。但现在它还不支持 Kylix 。

使用ODAC的 GUI 编写应用程序

--------------------------

自ODAC 3.80 版以后,GUI 就成为了其标准部件之一。意思也就是说以下GUI元素有效:SQL游标,连接Form,连接对话框等。你必须在你的应用程序中明确地声明头 OdacVcl (在Linux下是OdacClx ) 单元。这项功能对于在Linux下编写控制台应用程序特别有用。

Delphi and C++ Builder

By default ODAC does not require unit Forms, Controls and so on. Except

TOraErrorHandler and TConnectDialog components. They require unit Forms

and it's dependants by their nature.

Kylix

在默认情况下,ODAC并产需要QT库,但除了 TOraErrorHandler,TConnectDialog 以及 TOraAlerter组件以外。 它们包含了依赖于QT的代码。另外,SmartRefresh 功能禁止在Kylix 下使用. 但是专业版用户可在Odac.inc中定义宏SMART_REFRESH来实现在Linux环境下SmartRefresh功能。默认情况下,SMART_REFRESH宏在Windows环境下被定义。但是 SmartRefresh 函数需要QT.

预览版限制

--------------------------

下面的信息说明了在使用ODAC预览版时的限制:

- 只能在IDE环境中运行基于ODAC设计的应用程序

- 如果选择了 Net 选项,在TOraDataSet中仅能够最多使用6个字段。

在IDE中使用多个产品

---------------------------------

ODAC, SDAC 以及 MyDAC 组件使用公用包。

它们是:

dacXX.bpl

dacvclXX.bpl

dcldacXX.bpl

注意:这些产品只有同时被提供时才具有兼容性。如果你升级了已安装的产品的一部分,有可能会导致与其它部分发生冲突。为了继续同时使用这些产品,你应该同时升级它们。

 

 

本文站长资源库电脑知识网 版权所有,未经批准转载必究。

- 选择Net选项使客户机上不再需要安装 Oracle 客户端;

- 不需要分发,安装及配置 BDE 及 ODBC;

- 你可以使用任何 Delphi/C++ Builder 专业版来开发客户/服务器应用程序;

- 允许你使用许多 Oracle 的特殊功能;

- 支持 Oracle 8 的特殊特性: BLOB, CLOB 以及 BFile 数据类型,对象,数组,引用,嵌套表;

- 简化数据更新;

- 提供两种更新数据的方法:更灵活的 TOraQuery 及更容易的 TSmartQuery;

- 高速数据库记录存取;S

- 提供自动锁定及刷新记录机制;

- 允许通过使用多线程来执行长时间的存储过程;

- 高级设计编辑器;

- ODAC 组件的界面(方法,属性)和标准的BDE数据存取组件(TDatabase,TQuery,..)非常相似;

- 支持所有的数据集组件;

- 使用 OraTools 插件的OraDesigner建立和检查使用OraDesigner的查询,使用OraDebugger设计和调试PL/SQL块以及使用OraExplorer浏览数据库。

兼容性

-------------

ODAC 支持 Oracle 7.3, 8.0, 8i 以及 9i, 包括个人版及简装版。

安装

------------

自 ODAC 3.20 版以后,其运行包和设计包被分离了出来。ODAC 安装程序拷贝这些文件到其相应目录。

odacXX.bpl - ODAC 运行包 (位于 WindowsSystem 目录)

dclodacXX.bpl - ODAC 设计包 (位于 DelphiBin 目录)

odacvclXX.bpl - VCL 支持包 (位于 DelphiBin 目录)

oraprovXX.bpl - TOraProvider 组件 (位于 DelphiBin 目录)

crcontrolsXX.bpl - TCRDBGrid 组件 (位于 DelphiBin 目录)

Delphi

======

要编译基于ODAC的应用程序,需要在项目属性的 Project Options|Search 路径中添加 $(DELPHI)ODACLib。

C++ Builder

===========

要编译基于ODAC的应用程序,需要在项目属性的 Project Options|Library路径中添加 $(BCB)ODACLib,在 Project Options|Include 路径中添加 $(BCB)ODACInclude 。

Kylix

=====

首先你应该取得Kylix IDE 中的ODAC包,使用下面的命令将ODAC包的安装路径添加到指定路径:

PATH=$PATH:<ODAC directory>

另外的方法是将所有的 ODAC 包(*.so)拷贝到任意目录,比如 kylix/bin.现在你可以将ODAC安装到

Kylix IDE 中。请选择Kylix菜单 Component/Install Packages 。按添加按钮并选择 bpldclodacX.包。按OK按钮使组件有效。你也可以将 odac/lib添加到你项目的探索路径中。

 

 

本文站长资源库 版权所有,未经批准转载必究。

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,