25 Overview of Application Development Languages

001 This chapter presents brief overviews of Oracle application development systems.
本章概要地介绍 Oracle 的应用开发环境。
002 This chapter contains the following topics: 本章包含以下主题:

See Also:

Chapter 24, "SQL, PL/SQL, and Java"


第 24 章,“SQL,PL/SQL,和 Java

Introduction to Oracle Application Development Languages

25.1 Oracle 应用开发语言简介

005 Oracle Database developers have a choice of languages for developing applications—C, C++, Java, COBOL, PL/SQL, and Visual Basic. The entire functionality of the database is available in all the languages. All language-specific standards are supported. Developers can choose the languages in which they are most proficient or one that is most suitable for a specific task. For example an application might use Java on the server side to create dynamic Web pages, PL/SQL to implement stored procedures in the database, and C++ to implement computationally intensive logic in the middle tier.
Oracle 数据库开发者可以选择 C,C++,Java,COBOL,PL/SQL,或 Visual Basic 开发应用程序。在上述所有语言中都能够调用数据库的全部功能。Oracle 支持各种语言的标准。开发者可以选择其最熟悉的语言,也可以选择最适合完成特定工作的语言。例如,一个应用程序可以在服务端使用 Java 生成动态 Web 页面,使用 PL/SQL 在数据库中编写存储过程,使用 C++ 在中间层开发计算复杂的业务逻辑。
006 Oracle also provides the Pro* series of precompilers, which allow you to embed SQL and PL/SQL in your C, C++, COBOL, or FORTRAN application programs.
Oracle 还提供了 Pro* 系列的预编译器[precompiler],开发者可以将 SQL 及 PL/SQL 嵌入 C,C++,COBOL,或 FORTRAN 应用程序中。

See Also:



Overview of C/C++ Programming Languages

25.2 C/C++ 编程语言概述

009 This section contains the following topics: 本节包含以下主题:

Overview of Oracle Call Interface (OCI)

25.2.1 Oracle Call Interface(OCI)概述

011 The Oracle Call Interface (OCI) is an application programming interface (API) that lets you create applications that use the native procedures or function calls of a third-generation language to access an Oracle database server and control all phases of SQL statement execution. OCI supports the datatypes, calling conventions, syntax, and semantics of C and C++. OCI can directly access data in Oracle tables or can enqueue and dequeue data into or out of Oracle Streams.
Oracle Call Interface(OCI)是一个应用编程接口[application programming interface,API],此接口以第三代编程语言实现了大量本地[native]过程与函数,开发者在创建的应用程序中可以调用这些过程或函数访问 Oracle 数据库服务器,或控制 SQL 语句执行的所有步骤。OCI 支持 C 或 C++ 的数据类型,调用,约定[convention],语法,及语义。OCI 能够直接地访问 Oracle 表中的数据,也可以控制 Oracle 数据流[Oracle Streams]进行数据入队或出队操作。
012 OCI provides the following:
  • Improved performance and scalability through the use of system memory and network connectivity.
  • Consistent interfaces for dynamic session and transaction management in a two-tier client/server or multitier environment.
  • N-tiered authentication.
  • Comprehensive support for application development using Oracle objects.
  • Access to external databases.
  • Applications that can service an increasing number of users and requests without additional hardware investments.
OCI 具有以下特性:
  • 使用系统内存[system memory]及网络连接[network connectivity]提升性能及可伸缩性
  • 在开发两层的客户/服务系统或多层系统时,使用相同的接口实现动态会话及事务管理。
  • N 层身份验证[N-tiered authentication]。
  • 在应用程序中实现对 Oracle 对象的操作。
  • 访问外部数据库。
  • 采用 OCI 开发的应用程序能够应对用户及服务请求的增加,而无需额外的硬件投资。
013 OCI lets you manipulate data and schemas in an Oracle database using a host programming language, such as C. It provides a library of standard database access and retrieval functions in the form of a dynamic runtime library (OCI library) that can be linked in an application at runtime. This eliminates the need to embed SQL or PL/SQL within 3GL programs.
开发者可以在 C 等编程语言中使用 OCI 操作 Oracle 数据库中的对象和方案。OCI 以动态运行时库的方式提供了用于数据库访问及数据获取的标准函数库(OCI library),应用程序可以在运行时链接此类库。使用 OCI 时,开发者不必将 SQL 或 PL/SQL 直接嵌入第三代编程语言中。
014 An important component of OCI is a set of calls to allow application programs to use a workspace called the object cache. The object cache is a memory block on the client side that allows programs to store entire objects and to navigate among them without round trips to the server.
OCI 中提供了一组重要的调用,供应用程序访问被称为对象缓存[object cache]的工作区之用。对象缓存是位于客户端的内存块,应用程序可以在其中存储数据库对象,而不必频繁地访问数据库服务器。
015 The object cache is completely under the control and management of the application programs using it. The Oracle database server has no access to it. The application programs using it must maintain data coherency with the server and protect the workspace against simultaneous conflicting access.
应用程序能够完全地控制和管理其使用的对象缓存。而 Oracle 数据库服务器无法访问此区域。应用程序应该确保其中的数据一致性,并防止并发操作造成的冲突。
016 OCI provides functions to:
  • Access objects on the server using SQL
  • Access, manipulate and manage objects in the object cache by traversing pointers or REFs
  • Convert Oracle dates, strings and numbers to C datatypes
  • Manage the size of the object cache's memory
  • Create transient type descriptions. Transient type descriptions are not stored persistently in the database. Compatibility must be set to Oracle9i or higher.
OCI 的功能包括:
  • 使用 SQL 语句访问服务器中的数据库对象
  • 依据 traversing pointers REFs 访问,操作,或管理对象缓存中的数据库对象。
  • 将 Oracle 的日期类型,字符串类型,及数字类型转换为 C 数据类型
  • 管理对象缓存所使用的内存
  • 创建临时类型描述[transient type description]。临时类型描述不会持续地存储于数据库中。使用此功能时 数据库的兼容性参数必须设置为 Oracle9i 或更高。
017 OCI improves concurrency by allowing individual objects to be locked. It improves performance by supporting complex object retrieval.
OCI 中能够对单一对象加锁,从而提高系统的并发性。OCI 还支持复杂对象获取[complex object retrieval],这有助于提升系统性能。
018 OCI developers can use the object type translator to generate the C datatypes corresponding to a Oracle object types.
OCI 开发者可以使用对象类型转换器[object type translator]将 Oracle 对象类型[object type]转换为相应的 C 数据类型。

See Also:

Oracle Call Interface Programmer's Guide


Oracle Call Interface Programmer's Guide

Overview of Oracle C++ Call Interface (OCCI)

25.2.2 Oracle C++ Call Interface(OCCI)概述

021 The Oracle C++ Call Interface (OCCI) is a C++ API that lets you use the object-oriented features, native classes, and methods of the C++ programing language to access the Oracle database. The OCCI interface is modeled on the JDBC interface and, like the JDBC interface, is easy to use. OCCI is built on top of OCI and provides the power and performance of OCI using an object-oriented paradigm.
Oracle C++ Call Interface(OCCI)是一个基于 C++ 的 API,开发者可以使用 C++ 语言的面向对象特性,类,及方法访问 Oracle 数据库。OCCI 接口的模型与 JDBC 接口相似, 且同样易于使用。OCCI 接口构建于 OCI 之上,因此既具有面向对象特性,又具有 OCI 的强大功能和出众性能。
022 OCI supports the entire Oracle feature set and provides efficient access to both relational and object data, but it can be challenging to use--particularly if you want to work with complex, object datatypes. Object types are not natively supported in C, and simulating them in C is not easy. OCCI provides a simpler, object-oriented interface to the functionality of OCI. It does this by defining a set of wrappers for OCI. Developers can use the underlying power of OCI to manipulate objects in the server through an object-oriented interface that is significantly easier to program.
OCI 支持 Oracle 具备的全部功能,且能够高效地访问关系型数据及对象数据,但使用 OCI 有一定难度,尤其是需要处理复杂的对象数据类型时。C 语言本身并不支持对象类型,且使用 C 语言模拟对象特性比较困难。OCCI 将 OCI 的功能封装成为一个易于使用的面向对象的接口,具体方式是定义了一套基于 OCI 的封装器[wrapper]。开发者可以通过易于使用的面向对象接口,发挥 OCI 的功能操作服务器上的数据对象。

OCCI Associative Relational and Object Interfaces OCCI 关系型数据与对象数据关联型接口

024 The associative relational API and object classes provide SQL access to the database. Through these interfaces, SQL is run on the server to create, manipulate, and fetch object or relational data. Applications can access any dataype on the server, including the following:
  • Large objects
  • Objects/structured types
  • Arrays
  • References
开发者通过关联型的关系型 API[associative relational API]和对象类能够以 SQL 的形式访问数据库。通过这种接口,可以在数据库服务器端运行 SQL 以创建,操作,及获取对象或关系型数据。应用程序可以访问数据库服务器端的以下数据类型:
  • 大对象[large objects]
  • 对象类型[object type]/结构体类型[structured type]
  • 数组[array]
  • 引用[reference]

OCCI Navigational Interface OCCI 导航型接口

026 The navigational interface is a C++ interface that lets you seamlessly access and modify object-relational data in the form of C++ objects without using SQL. The C++ objects are transparently accessed and stored in the database as needed.
OCCI 导航型接口[navigational interface]是一种 C++ 接口,开发者通过此接口可以使用 C++ 对象(而非 SQL)无缝地访问或修改对象-关系型数据[object-relational data]。C++ 对象可以被透明地访问或透明地存储到数据库中。
027 With the OCCI navigational interface, you can retrieve an object and navigate through references from that object to other objects. Server objects are materialized as C++ class instances in the application cache. An application can use OCCI object navigational calls to perform the following functions on the server's objects:
  • Create, access, lock, delete, and flush objects
  • Get references to the objects and navigate through them
通过 OCCI 导航型接口,开发者可以获取对象,或依据对象的引用[reference]操作相关的对象。数据库服务器对象可以被物化为应用程序缓存[application cache]内的 C++ 类实例。应用程序可以通过 OCCI 导航型接口对数据库服务器对象执行以下操作:
  • 创建,访问,加锁,删除,及清除[flush]对象
  • 获取对象的引用,并依据引用访问相关的对象

See Also:

Oracle C++ Call Interface Programmer's Guide


Oracle C++ Call Interface Programmer's Guide

Overview of Oracle Type Translator

25.2.3 Oracle 类型转换器概述

030 The Oracle type translator (OTT) is a program that automatically generates C language structure declarations corresponding to object types. It generates C++ class definitions for Oracle object types that can be used by OCCI applications for a native C++ object interface. OTT uses the Pro*C precompiler and the OCI server access package.
Oracle 类型转换器[Oracle type translator,OTT]是一个根据对象类型[object type]自动地生成 C 语言结构的程序。她能够生成与 Oracle 对象类型相对应的 C++ 类定义,供 OCCI 应用程序通过原生 C++ 对象接口使用。OTT 需要依赖 Pro*C 预编译器及 OCI 服务器访问包[OCI server access package]工作。

See Also:



Overview of Pro*C/C++ Precompiler

25.2.4 Pro*C/C++ 预编译器概述

033 An Oracle precompiler is a programming tool that lets you embed SQL statements in a high-level source program. The precompiler accepts the host program as input, translates the embedded SQL statements into standard Oracle run-time library calls, and generates a source program that you can compile, link, and run in the usual way. Oracle precompilers are available (but not on all systems) for C/C++, COBOL, and FORTRAN.
Oracle 预编译器[precompiler]是一种供开发者将 SQL 语句嵌入高阶源程序代码[high-level source program]中的工具。预编译器能够接受宿主程序源代码[host program]作为输入,将其中嵌入的 SQL 语句转换为 Oracle 运行时库调用[run-time library call],并生成可供开发者以常规方式编译,链接,并运行的源代码。Oracle 预编译器支持(并非在所有操作系统平台上)C/C++,COBOL,及 FORTRAN。
034 The Oracle Pro*C/C++ Precompiler lets you embed SQL statements in a C or C++ source file. Pro*C/C++ reads the source file as input and outputs a C or C++ source file that replaces the embedded SQL statements with Oracle runtime library calls, and is then compiled by the C or C++ compiler.
开发者在开发时可以将 SQL 语句嵌入 C 或 C++ 源文件中。Oracle Pro*C/C++ 预编译器以源文件为输入,并在输出的源文件中将嵌入的 SQL 语句替换为 Oracle 运行时库调用,之后使用 C 或 C++ 编译器进行编译。
035 Unlike many application development tools, Pro*C/C++ lets you create highly customized applications. For example, you can create user interfaces that incorporate the latest windowing and mouse technology. You can also create applications that run in the background without the need for user interaction.
与大多数应用程序开发工具不同,Pro*C/C++ 可供开发者创建高度自定义的应用程序。例如,开发者可以在用户界面中使用最新的窗口及鼠标技术。开发者也可以创建运行于后台无需具备用户界面的应用程序。
036 Furthermore, Pro*C/C++ helps you fine-tune your applications. It allows close monitoring of resource use, SQL statement execution, and various runtime indicators. With this information, you can change program parameters for maximum performance.
此外,开发者还可以使用 Pro*C/C++ 对应用程序进行调优。开发者可以通过 Pro*C/C++ 监控资源使用,SQL 语句执行,及各种运行时指示器[runtime indicator]。通过 Pro*C/C++ 提供的信息,开发者可以调整程序参数以获得最佳的性能。
037 Although precompiling adds a step to the application development process, it saves time. The precompiler, not you, translates each embedded SQL statement into calls to the Oracle runtime library (SQLLIB). The Pro*C/C++ precompiler also analyzes host variables, defines mappings of structures into columns, and, with SQLCHECK=FULL, performs semantic analysis of the embedded SQL statements.
预编译将使应用程序开发过程的步骤增加,但能节约开发时间。因为预编译程序(而非开发者)负责将嵌入的 SQL 语句转换为 Oracle 运行时库调用(SQLLIB)。Pro*C/C++ 还能够分析宿主程序源代码中的变量,定义程序结构与数据表列之间的映射关系,如果设置了 SQLCHECK=FULL 选项,还能够对嵌入的 SQL 语句进行语义分析。
038 The Oracle Pro*C/C++ precompiler also allows programmers to use object datatypes in C and C++ programs. Pro*C developers can use the Object Type Translator to map Oracle object types and collections into C datatypes to be used in the Pro*C application.
Oracle Pro*C/C++ 预编译器使开发者能够在 C 及 C++ 源代码中使用对象数据类型[object datatype]。Pro*C 开发者可以使用对象类型转换器[Object Type Translator]将 Oracle 对象类型[object type]或集合类型[collection type]转换为可以在 Pro*C 应用程序中使用的 C 数据类型。
039 Pro*C provides compile time type checking of object types and collections and automatic type conversion from database types to C datatypes. Pro*C includes an EXEC SQL syntax to create and destroy objects and offers two ways to access objects in the server:
  • SQL statements and PL/SQL functions or procedures embedded in Pro*C programs
  • A simple interface to the object cache, where objects can be accessed by traversing pointers, then modified and updated on the server
Pro*C 支持对象类型与集合类型的编译时类型检查,及自动地将数据库类型转换为 C 数据类型。Pro*C 包含有 EXEC SQL 语法,用于创建或销毁对象,以及以下面两种方式访问数据库服务器中的对象:
  • 通过 Pro*C 源程序中嵌入的 SQL 语句或 PL/SQL 函数及过程
  • 通过访问对象缓存[object cache]的接口,在对象缓存中使用 traversing pointer 访问,修改,或更新数据库服务器中的对象

See Also:



Dynamic Creation and Access of Type Descriptions 动态创建并访问类型描述

042 Oracle provides a C API to enable dynamic creation and access of type descriptions. Additionally, you can create transient type descriptions, type descriptions that are not stored persistently in the DBMS.
Oracle 提供了用于动态创建并访问类型描述的 C API。此外,开发者可以创建临时类型描述[transient type descriptions],此种类型描述不会被持久地存储于 DBMS 中。
043 The C API enables creation and access of OCIAnyData and OCIAnyDataSet.
  • The OCIAnyData type models a self descriptive (with regard to type) data instance of a given type.
  • The OCIAnyDataSet type models a set of data instances of a given type.
上述 C API 可以创建并访问 OCIAnyDataOCIAnyDataSet 类型的数据。
  • OCIAnyData 类型用于存储可自我描述的类型的数据实例。
  • OCIAnyDataSet 用于存储某种类型的数据对象的集合。
044 Oracle also provides SQL datatypes (in Oracle's Open Type System) that correspond to these datatypes.
  • SYS.ANYTYPE corresponds to OCIType
  • SYS.ANYDATA corresponds to OCIAnyData
  • SYS.ANYDATASET corresponds to OCIAnyDataSet
Oracle 还(通过开放类型系统[Open Type System])提供了与上述数据类型相对应的 SQL 数据类型。
  • SYS.ANYDATA 对应于 OCIAnyData
045 You can create database table columns and SQL queries on such data.
用户可以使用上述 SQL 数据类型创建数据库表列,或进行 SQL 查询。
046 The C API uses the following terms:
  • Transient types - Type descriptions (type metadata) that are not stored persistently in the database.
  • Persistent types - SQL types created using the CREATE TYPE SQL statement. Their type descriptions are stored persistently in the database.
  • Self-descriptive data - Data encapsulating type information along with the actual contents. The ANYDATA type (OCIAnyData) models such data. A data value of any SQL type can be converted to an ANYDATA, which can be converted back to the old data value. An incorrect conversion attempt results in an exception.
  • Self-descriptive MultiSet - Encapsulation of a set of data instances (all of the same type), along with their type description.
以下为 C API 中使用的一些术语:
  • 临时类型[transient type]——类型描述(类型元数据)不会持久地存储于数据库中。
  • 持久类型[persistent type]——通过 CREATE TYPE SQL 语句创建的类型。此种类型的描述被持久地存储于数据库中。
  • 可自我描述数据[self-descriptive data]——数据中同时封装了实际数据内容及类型信息。ANYDATA 类型(与 OCIAnyData 对应)用于存储此类数据。任何 SQL 类型的数据值均可以被转换为 ANYDATA 类型,反之 ANYDATA 类型也可以被转换为其原始类型。错误的转换操作将导致异常。
  • 可自我描述数据集[self-descriptive MultiSet]——封装了一个( 相同类型的)数据实例的集合,以及数据类型的描述。

See Also:



Overview of Microsoft Programming Languages

25.3 微软编程语言概述

049 Oracle offers a variety of data access methods from COM-based programming languages, such as Visual Basic and Active Server Pages. These include Oracle Objects for OLE (OO40) and the Oracle Provider for OLE DB. The latter can be used with Microsoft's ActiveX Data Objects (ADO). Server-side programming to COM Automation servers, such as Microsoft Office, is available through the COM Automation Feature. More traditional ODBC access is available through Oracle's ODBC Driver. C/C++ applications can also use the Oracle Call Interface (OCI). These data access drivers have been engineered to provide superior performance with Oracle and expose the database's advanced features which may not be available in third-party drivers.
Oracle 为多种基于 COM 的编程语言(例如 Visual Basic 及 Active Server Pages)提供了数据访问方法。这些方法包括 Oracle Objects for OLE(OO4O)及 Oracle Provider for OLE DB。后者可以与微软的 ActiveX Data Objects(ADO)结合使用。开发者可以利用 COM Automation 特性在 COM Automation 服务器(例如 Microsoft Office)上进行服务端开发。开发者还可以利用 Oracle 的 ODBC 驱动程序以传统的 ODBC 方式访问数据。C/C++ 应用程序开发者可以使用 Oracle Call Interface(OCI)。上述各种数据访问驱动程序已经过充分的调优,具备优异的 Oracle 访问性能,且能够调用第三方驱动程序不支持的高级数据库特性。
050 Oracle also provides optimum .NET data access support through the Oracle Data Provider for .NET, allowing .NET to access advanced Oracle features. Oracle also support OLE DB .NET and ODBC .NET.
Oracle 还通过 Oracle Data Provider for .NET 提供了 .NET 数据访问支持,开发者可以在 .NET 中调用 Oracle 的高级特性。Oracle 还支持 OLE DB .NET 及 ODBC .NET。
051 This section contains the following topics: 本节包含以下主题:

Open Database Connectivity

25.3.1 开放数据库连接

053 Open database connectivity (ODBC), is a database access protocol that lets you connect to a database and then prepare and run SQL statements against the database. In conjunction with an ODBC driver, an application can access any data source including data stored in spreadsheets, like Excel. Because ODBC is a widely accepted standard API, applications can be written to comply to the ODBC standard. The ODBC driver performs all mappings between the ODBC standard and the particular database the application is accessing. Using a data source-specific driver, an ODBC compliant program can access any data source without any more development effort.
开放数据库连接(Open database connectivity,ODBC)是一种数据库访问协议,开发者可以通过此协议连接数据库,解析 SQL 并执行语句。应用程序通过 ODBC 驱动程序可以访任意的 ODBC 数据源,甚至包括 Excel 之类的电子表格[spreadsheet]中的数据。由于 ODBC 是一种被广泛接受的标准 API,在开发应用程序时应遵从 ODBC 标准。ODBC 驱动程序负责执行 ODBC 标准与应用程序所访问的特定数据库间的映射。使用了与数据源相对应的驱动程序后,基于 ODBC 的应用程序就能够访问任意数据源而无需任何额外的开发工作。
054 Oracle provides the ODBC interface so that applications of any type that are ODBC compliant can access the Oracle database using the ODBC driver provided by Oracle. For example, an application written in Visual Basic can use ODBC to access the Oracle database.
Oracle 提供了 ODBC 接口,任何与 ODBC 兼容的应用程序都可以通过 Oracle 提供的 ODBC 驱动程序访问 Oracle 数据库。例如,以 Visual Basic 开发的应用程序可以通过 ODBC 访问 Oracle 数据库。

Overview of Oracle Objects for OLE

25.3.2 Oracle Objects for OLE 概述

056 Oracle Objects for OLE (OO4O) allows easy access to data stored in Oracle databases with any programming or scripting language that supports the Microsoft COM Automation and ActiveX technology. This includes Visual Basic, Visual C++, Visual Basic For Applications (VBA), IIS Active Server Pages (VBScript and JavaScript), and others.
任何支持微软 COM Automation 及 ActiveX 技术的编程语言或脚本语言都可以通过 Oracle Objects for OLE(OO4O)便捷地访问 Oracle 数据库。这样的语言包括 Visual Basic,Visual C++,Visual Basic For Applications(VBA),IIS Active Server Pages(VBScript 及 JavaScript)等等。
057 OO4O consists of the following software layers: OO4O 包含以下软件层:

OO4O Automation Server OO4O Automation 服务器

059 The OO4O Automation Server is a set of COM Automation objects for connecting to Oracle database servers, executing SQL statements and PL/SQL blocks, and accessing the results.
OO4O Automation 服务器是一组 COM Automation 对象,用于连接 Oracle 数据库服务器,执行 SQL 语句及 PL/SQL 块,或访问结果集。
060 OO4O provides key features for accessing Oracle databases in environments ranging from the typical two-tier client/server applications, such as those developed in Visual Basic or Excel, to application servers deployed in multitiered application server environments, such as Web server applications in Microsoft Internet Information Server (IIS) or Microsoft Transaction Server.
从 Visual Basic 或 Excel 中开发的两层客户/服务应用程序,到多层应用服务系统如 Microsoft Internet Information Server(IIS)或 Microsoft Transaction Server 中部署的 Web 服务应用程序,均可以使用 OO4O 提供的功能访问 Oracle 数据库。

Oracle Data Control Oracle Data Control

062 The Oracle Data Control (ODC) is an ActiveX Control designed to simplify the exchange of data between an Oracle database and visual controls, such edit, text, list, and grid controls in Visual Basic and other development tools that support custom controls.
Oracle Data Control(ODC)是一种 ActiveX 控件,用于简化 Visual Basic 或其他支持自定义控件的开发工具中的可视化控件(例如编辑框,文本框,列表框,数据网格控件等)与 Oracle 数据库间的数据交换工作。
063 ODC acts an agent to handle the flow of information from an Oracle database and a visual data-aware control, such as a grid control, that is bound to it. The data control manages various user interface (UI) tasks such as displaying and editing data. It also runs and manages the results of database queries.
ODC 的作用如同一个代理,负责处理 Oracle 数据库和与之邦定的可视化数据控件(例如数据网格控件)间的数据流动。ODC 负责执行多种用户界面[user interface,UI]任务,例如显示或编辑数据。ODC 还负责运行数据库查询,及管理查询的结果集。

The Oracle Objects for OLE C++ Class Library Oracle Objects for OLE C++ 类库

065 The Oracle Objects for OLE C++ Class Library is a collection of C++ classes that provide programmatic access to the Oracle Object Server. Although the class library is implemented using OLE Automation, neither the OLE development kit nor any OLE development knowledge is necessary to use it. This library helps C++ developers avoid writing COM client code for accessing the OO4O interfaces.
Oracle Objects for OLE C++ 类库是一套 C++ 类库,供程序访问 Oracle Object Server。尽管此类库是基于 OLE Automation 实现的,但使用此类库的开发者不必具备 OLE 开发知识,也无需使用 OLE development kit 进行开发。C++ 开发者通过此类库不必编写 COM 客户端代码即可使用 OO4O 接口。

Oracle Data Provider for .NET

25.3.3 Oracle Data Provider for .NET

067 Oracle Data Provider for .NET (ODP.NET) is an implementation of a data provider for the Oracle database. ODP.NET uses Oracle native APIs for fast and reliable access to Oracle data and features from any .NET application. ODP.NET also uses and inherits classes and interfaces available in the Microsoft .NET Framework Class Library.
Oracle Data Provider for .NET(ODP .NET)是一套 Oracle 数据库数据提供者[data provider]的实现。ODP .NET 使用 Oracle 的原生 API 供 .NET 应用程序高效且可靠地访问 Oracle 数据或调用 Oracle 功能。ODP .NET 能够使用或继承 Microsoft .NET Framework 类库中的类与接口。
068 For programmers using Oracle Provider for OLE DB, ADO (ActiveX Data Objects) provides an automation layer that exposes an easy programming model.
对于 Oracle Provider for OLE 的开发者,可以使用 ActiveX Data Objects(ADO)作为 automation 层,此层提供一个简单易用的编程模型。
069 ADO.NET provides a similar programming model, but without the automation layer, for better performance. More importantly, the ADO.NET model allows native providers such as ODP.NET to expose Oracle-specific features and datatypes.
ADO .NET 也提供了类似的编程模型,但不通过 automation 层,因此具备更佳的性能。更重要的是,ADO .NET 模型可以通过 ODP .NET 之类的原生数据提供者使用 Oracle 特有的功能及数据类型。

See Also:

Oracle Data Provider for .NET Developer's Guide


Oracle Data Provider for .NET Developer's Guide

Overview of Legacy Languages

25.4 历史遗留语言概述

072 This section contains the following topics: 本节包含以下主题:

Overview of Pro*Cobol Precompiler

25.4.1 Pro*Cobol 预编译器概述

074 The Pro*COBOL Precompiler is a programming tool that lets you embed SQL statements in a host COBOL program. Pro*COBOL reads the source file as input and outputs a COBOL source file that replaces the embedded SQL statements with Oracle runtime library calls, and is then compiled by the COBOL compiler.
Pro*COBOL 预编译器是供开发者将 SQL 语句嵌入 COBOL 宿主程序的开发工具。Pro*COBOL 能够读取源代码文件,将其中嵌入的 SQL 语句替换为 Oracle 运行时类库调用,并输出 COBOL 源代码文件,之后交给 COBOL 编译器进行编译。
075 Like the Pro*C/C++ Precompiler, Pro*COBOL lets you create highly customized applications. For example, you can create user interfaces that incorporate the latest windowing and mouse technology. You can also create applications that run in the background without the need for user interaction.
与 Pro*C/C++ 预编译器类似,开发者可以使用 Pro*COBOL 创建高度自定义的应用程序。例如,开发者可以在用户界面中使用最新的窗口及鼠标技术。开发者也可以创建运行于后台无需具备用户界面的应用程序。
076 Furthermore, with Pro*COBOL you can fine-tune your applications. It enables close monitoring of resource usage, SQL statement execution, and various run-time indicators. With this information, you can adjust program parameters for maximum performance.
此外,开发者还可以使用 Pro*COBOL 对应用程序进行调优。开发者可以通过 Pro*COBOL 监控资源使用,SQL 语句执行,及各种运行时指示器[runtime indicator]。通过 Pro*COBOL 提供的信息,开发者可以调整程序参数以获得最佳的性能。

See Also:

Pro*COBOL Programmer's Guide


Pro*COBOL Programmer's Guide

Overview of Pro*FORTRAN Precompiler

25.4.2 Pro*FORTRAN 预编译器概述

079 The Oracle Pro*FORTRAN Precompiler lets you embed SQL in a host FORTRAN program.
开发者可以使用 Oracle Pro*FORTRAN 预编译器将 SQL 嵌入到 FORTRAN 程序中。
080 Pro*FORTRAN is not supported on Windows.
Windows 平台上不支持 Pro*FORTRAN。

See Also:

Pro*FORTRAN Supplement to the Oracle Precompilers Guide


Pro*FORTRAN Supplement to the Oracle Precompilers Guide

A 翻译不确定的词汇[格式:黄色背景 ]  


B 翻译不确定的Oracle/数据库词汇[格式:
黄色背景 ]

[016][039] traversing pointers
[016] transient type descriptions
[017] complex object retrieval

C 翻译不确定的句子[格式:
黄色背景 ]

[012] Improved performance and scalability through the use of system memory and network connectivity.
[021] The OCCI interface is modeled on the JDBC interface and, like the JDBC interface, is easy to use.
[043] The OCIAnyData type models a self descriptive (with regard to type) data instance of a given type.
[053] Because ODBC is a widely accepted standard API, applications can be written to comply to the ODBC standard.

D 注释性的文字[格式:


E 未完成的链接


F Oracle学习问题[格式:

translator: zw1840@hotmail.com