?? readme.html
字號:
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1252">
<META NAME="Generator" CONTENT="Microsoft Word 97">
<TITLE>Oracle Connectivity Library version 1</TITLE>
</HEAD>
<BODY LINK="#0000ff"><H1> Oracle Connectivity Library version 1.01
<FONT FACE="Courier New" SIZE=2>
<HR>
</H1>
<P><STRONG><U>OVERVIEW:</U></STRONG></P>
<P>The Oracle Connectivity Library (OCL) is an
"application framework" for programming in Oracle Call Interface
(OCI). Written in C++, OCL provides much of the code necessary for manipulating
data and schemas in an Oracle database. It provides a library of standard
database access and retrieval functions in the form of a dynamic runtime library
that can be linked in an application at runtime. This eliminates the need to
embed SQL or PL/SQL within 3GL programs. </P>
<P>OCL allows you to create applications that use the native
procedures or function calls of a C++ language to access an Oracle database
server and control all phases of SQL statement execution. </P>
<P>All you need to do is add your application-specific code
into this framework. And, given the nature of C++ class programming, it's easy
to extend or override the basic functionality the OCL framework supplies.</P>
<P>For more information about the OCI calls, see
"</FONT><A href="http://otn.oracle.com/docs/products/oracle8i/doc_library/817_doc/appdev.817/a76975/toc.htm"><FONT FACE="Courier New" SIZE=2>Oracle
Call Interface Programmer's Guide</FONT></A><FONT FACE="Courier New" SIZE=2>", "</FONT><A href="http://otn.oracle.com/docs/products/oracle8i/doc_library/817_doc/appdev.817/a76938/toc.htm"><FONT FACE="Courier New" SIZE=2>Oracle8i
Application Developer's Guide - Advanced Queuing</FONT></A><FONT FACE="Courier New" SIZE=2> ",</FONT><FONT FACE="Courier New" SIZE=2> and "</FONT><A href="http://otn.oracle.com/docs/products/oracle8i/doc_library/817_doc/appdev.817/a76937/toc.htm"><FONT FACE="Courier New" SIZE=2>Oracle8i
Data Cartridge Developer's Guide</FONT></A><FONT FACE="Courier New" SIZE=2>".</P>
<H3>Encapsulated C Interface</H3>
<P></P>
<P>All the data structures that are used by OCL are
encapsulated in the form of opaque interfaces that are called handles. A handle
is an opaque pointer to a storage area allocated by the OCL library that stores
context information, connection information, error information, or bind
information about a SQL or PL/SQL statement. A client allocates a certain type
of handle, populates one or more of those handles through well-defined
interfaces, and sends requests to the server using those handles. In turn,
applications can access the specific information contained in the handle by
using accessor functions. The OCL library manages a hierarchy of handles.
Encapsulating the OCL interfaces using these handles has several benefits to the
application developer including: </P>
<UL>
<LI>Reduction in the amount of server side state
information that needs to be retained thereby reducing server side memory
usage
<P></P>
<LI>Improved application developer productivity by
eliminating the need for global variables, making error reporting easier and
providing consistency in the way OCI variables are accessed and used
<P></P>
<LI>Further, the encapsulation of OCI structures in the
form of handles makes them opaque to the application developer allowing
changes to be made to the underlying structure without affecting
applications </LI>
</UL>
<P>For an example showing the use of OCL calls for
processing SQL statements, see <A href="Example\example1.cpp">Example1</A> sample program.
<P><H3>Encapsulated C++ Interface</H3>
<P></P>
<P>OCL is intended as a "call-level" SQL interface
for C++. This means the focus is on executing raw SQL statements and retrieving
their results. I expect that higher-level APIs will be defined as well, and
these will probably be implemented on top of this base level. Examples of
higher-level APIs are direct transparent mapping of tables to C++ classes,
semantic tree representations of more general queries, and an embedded SQL
syntax for C++, for this see <A href="Example\example2.cpp">Example2</A> simple program.
<P>The OCL API is expressed as a series of C++ classes that
allow an application programmer to open connections to particular databases,
execute SQL statements, and process the results.
<P>The most important classes are:
<UL>
<LI>Connection which provides support for creating new
database connections and represents a connection to a particular database<BR><BR>
<LI>Statement which acts as a container for executing a
SQL statement on a given connection <BR><BR>
<LI>ResultSet which controls access to the row results
of a given Statement <BR><BR></LI>
</UL>
<P>See the separate OCL API documents for complete
documentation of OCL classes.
<P><STRONG><U></U></STRONG> </P>
<P><STRONG><U>REQUIREMENTS:</U></STRONG></P>
<P> Oracle Call Interface Library (OCI.LIB, OCIW32.LIB).</P>
<P><STRONG><U></U></STRONG> </P>
<P><STRONG><U>INSTALLATION:</U></STRONG></P>
<P> 1. Unzip the OCL ZIP file to a project directory.</P>
<P> </P>
<P><U><STRONG>
USAGE:</STRONG></U></P>
<P> Reference to classes and members.<BR> <A href="api/classes.html">OCL API Specification</A>
</P>
<P> </P>
<P> </P>
<P><STRONG><U>CODE
EXAMPLES:</U></STRONG></P>
<P>This Appendix contains code examples illustrating the use
of OCL calls. These programs are provided for demonstration purposes.<BR><A
href="Example\example1.cpp">Example1</A> - This example program demonstrates the use of C-style
functions, which are exported from OCL DLL.<BR><A href="Example\example2.cpp">Example2</A> - This example
program demonstrates the use of classes, which are exported from OCL DLL.</P>
<P>
<HR>
<A href="mailto:yakovlev@zdnetonebox.com">Submit
comments/suggestions about OCL.</A> <BR>Copyright 2001
Sergey Yakovlev. All Rights Reserved. </FONT>
<P></P></BODY>
</HTML>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -