Oracle 8i Application Developer's Guide - Large Objects (LOBs) Release 8.1.5 A68004-01 |
|
This Guide describes features of application development on the Oracle Server having to do with Large Objects (LOBs). Information in this Guide applies to versions of the Oracle Server that run on all platforms, and does not include system-specific information.
The Preface includes the following sections:
The Oracle8i Application Developer's Guide - Large Objects (LOBs) is intended for programmers developing new applications that use LOB
s, as well as those who have already implemented this technology and now wish to take advantage of new features.
The increasing importance of multimedia data as well as unstructured data has led to this topic being presented as an independent volume within the Oracle Application Developers documentation set.
The Oracle8i Application Developer's Guide - Large Objects (LOBs) contains information that describes the features and functionality of the Oracle8 and the Oracle8 Enterprise Edition products. Oracle8 and Oracle8 Enterprise Edition have the same basic features. However, several advanced features are available only with the Enterprise Edition, and some of these are optional. For example, to use object functionality, you must have the Enterprise Edition and the Objects Option.
There are no special restrictions in dealing with LOB
s. However, you will need the Partitioning option to use LOB
s in partitioned tables. Also, you will not be able to use LOB
s with object types unless you have purchased the object option. For information about the differences between Oracle8 and the Oracle8 Enterprise Edition and the features and options that are available to you, see Getting to Know Oracle8i and the Oracle8i Enterprise Edition.
The new features included in the Oracle8i, release 8.1.5 are as follows:
LOB
s
CLOB
and NCLOB
support
LOB
s in partitioned tables
LOB
s (open
/close
/isopen
, writeappend
, getchunksize
)
Use the PL/SQL User's Guide and Reference to learn PL/SQL and to get a complete description of this high-level programming language, which is Oracle Corporation's procedural extension to SQL.
The Oracle Call Interface (OCI) is described in theOracle Call Interface Programmer's Guide. You can use the OCI to build third-generation language (3GL) applications that access the Oracle Server.
Oracle Corporation also provides the Pro* series of precompilers, which allow you to embed SQL and PL/SQL in your application programs. If you write 3GL application programs in Ada, C, C++, COBOL, or FORTRAN that incorporate embedded SQL, refer to the corresponding precompiler manual. For example, if you program in C or C++, refer to the Pro*C/C++ Precompiler Programmer's Guide..
Oracle 8i offers the opportunity of working with Java in the database. The Oracle Java documentation set includes the Enterprise JavaBeans and CORBA Developer's Guide, the Oracle8i JDBC Developer's Guide and Reference , the Oracle8i Java Developer's Guide , the Oracle8i JPublisher User's Guide and the Oracle8i Java Stored Procedures Developer's Guide.You can access Oracle's development environment for multimedia technology in a number of different ways.
For SQL information, see the Oracle8i SQL Reference and Oracle8i Administrator's Guide. If you need information about Oracle replication with LOB data, refer to Oracle8i Replication. LOBsFor basic Oracle concepts, see Oracle8i Concepts..
The Oracle8i Application Developer's Guide - Large Objects (LOBs) contains six chapters organized into two volumes. A brief summary of what you will find in each chapter follows:
In this chapter we describe the LOB
datatype in terms of three main kinds of LOB
s: Internal persistent LOB
s, Internal temporary LOB
s, and External LOB
s (BFILEs). We discuss the use of LOB
s to promote internationalization by way of CLOBS
, and the advantages of using LOB
s over LONG
s. We then turns to the various programmatic environments by which you can operate on LOB
s
The chapter also includes an example scenario that frames examples provided throughout the rest of the book. Various general topics that underlie LOB
operations are discussed as an introduction to the later chapters.
The last chapter in the book covers advanced topics that touch on all the other chapters. Specifically, we focus on:
LOB
buffering subsystem
LOB
s and the issue of spanning transactions
LOB
s in the object cache
The basic operations concerning internal persistent LOB
s are discussed, along with pertinent issues in the context of the scenario outlined in Chapter 1. We introduce the Unified Modeling Language (UML) notation with a special emphasis on use cases. Specifically, each basic operation is described as a use case. A full description of UML is beyond the scope of this book, but the small set of conventions used in this book appears later in the Preface. Wherever possible, we provide the same example in each of the programmatic environments.
This chapter follows the same pattern as Chapter 2 but here focuses on the new feature of temporary LOB
s. The new API and its attendant issues are discussed in detail.
The focus in this chapter is on external LOB
s, also known as BFILEs. The same treatment is provided here as in Chapters 2 and 3, namely every operation is treated as a use case, and we provide matching code examples in every available programmatic environment.
This new feature is also presented in terms of the overarching scenario. Please note that using LOB
s in partitioned tables requires that you purchase the partition option.
This release of the documentation introduces the Universal Modeling Language (UML) as a way of explaining the technology that we hope will help you develop applications. A full presentation of the UML is beyond the scope of this documentation set, however we do provide a description of the subset of UML notation that we use in a chapter devoted to visual modeling inOracle8i Application Developer's Guide - Fundamentals. What follows here is a selection from that chapter of those elements that are used in this book.
The following notational and text formatting conventions are used in this guide:
Square brackets indicate that the enclosed item is optional. Do not type the brackets.
Braces enclose items of which only one is required.
A vertical bar separates items within braces, and may also be used to indicate that multiple values are passed to a function parameter.
In code fragments, an ellipsis means that code not relevant to the discussion has been omitted.
SQL or C code examples are shown in monospaced font.
Italics are used for OCI parameters, OCI routines names, file names, and data fields.
Uppercase is used for SQL keywords, like SELECT
or UPDATE
.
This guide uses special text formatting to draw the reader's attention to some information. A paragraph that is indented and begins with a bold text label may have special meaning. The following paragraphs describe the different types of information that are flagged this way.
Note: The "Note" flag indicates that the reader should pay particular attention to the information to avoid a common problem or increase understanding of a concept.
Warning: An item marked as "Warning" indicates something that an OCI programmer must be careful to do or not do in order for an application to work correctly.
See Also: Text marked "See Also" points you to another section of this guide, or to other documentation, for additional information about the topic being discussed.
We value and appreciate your comment as an Oracle user and reader of our manuals. As we write, revise, and evaluate our documentation, your opinions are the most important feedback we receive.
You can send comments and suggestions about this manual to the following e-mail address:
If you prefer, you can send letters or faxes containing your comments to the following address:
Server Technologies Documentation Manager
Oracle Corporation
500 Oracle Parkway
Redwood Shores, CA 94065
Fax: (650) 506-7228