meta http-equiv="Content-Style-Type" content="text/css">
| Oracle® Database Application Developer's Guide - Funda
mentals 10g Release 1 (10.1) Part Number B10795-01 |
|
tr>
![]() Previous ![]() Next |
The following sections give an overview of new application development features introduced in this release and some previous releases of the database. Related documentation on each feature is cross-referenced when it is available.
This section discusses new features introduced in Oracle Database 10g Release& nbsp;1 (10.1).
A set of SQL functions introduced in this release let you perform queries and m anipulate string data using regular expressions. See Chapter 12, "Using Regular Expressions With Oracle Database" for more information.
Oracle Expression Filter lets you store conditional expressions i n a column that you can use in the WHERE clause of a database query. See "Representing Conditional Exp ressions as Data" for more information.
Column datatypes BINARY_FLOAT and BINARY_DOUBLE are introduced in this release. These dataty
pes provide an alternative to using the Oracle NUMBER datatype, with the following benefits:
Support for native floating-point datatypes in bind and fetch o perations is provided for the following client interfaces:
This release provides support for terabyte-size LOB values (from 8 to 128 terabytes) in the following programmatic environ ments:
You can store and manipulate LOB (BLOB, CLOB, and NCLOB) datatypes large
r than 4GB.
Oracle Data Provider for .NET (ODP.NET) is a new programmati c environment that implements a data provider for Oracle Database. It uses APIs native to Oracle Database to offer fast and reliable access from any .NET application to database features and data. ODP.NET also uses and inherits classes and interfaces available in th e Microsoft .NET Framework Class Library.
This section gives an overview of application development features introduc ed in Oracle9i Release 2 (9.2).
You can perform an Oracle Flashba
ck Query using the AS OF clause of the SELECT statement rather than going through the DBMS_FLASHBACK<
/code> package. This technique is very flexible, allowing you to perform joins, set operations, subqueries, and views using different
date/time or SCN settings for each table in the query. You can also restore or capture past data by using a Flashback Query inside a
n INSERT or CREATE TABLE AS SELECT statement.
When you represent related data items using a PL/SQL record, you can perform insert and update ope rations using the entire record, instead of specifying each record field separately.
li>If a data management application experiences problems because it tries to create a constraint when the const raint already exists, you can rename the existing constraint to avoid the conflict. If you track down a constraint with a cryptic sys tem-generated name, you can give it a descriptive name to make it easier to enable and disable later.
These globalization-support types can now be used as attributes of SQL and PL/SQL object t ypes, and in PL/SQL collection types such as varrays and nested tables.
New and enhanced built-in ty pes, such as XMLType and XDBURIType, let you delegate XML parsing, storage, and retrieval to the database.
| See Also:
< em class="Italic">Oracle XML DB Developer's Guide | <
/tr>
The UTL_FILE package has a number of new functions for performing popular file
operations. You can seek, auto-flush, read and write binary data, delete files, change file permissions, and more. Use the CREA
TE DIRECTORY statement (using double quotation marks around any lowercase names), rather than the UTL_FILE_DIR in
itialization parameter.
| See Also:
PL/SQL Packages and Types Reference for details about these enhancements |
You can now override the system default constructor for an object type with your own constructor function.
You can access or change LOB data within BEFO
RE and INSTEAD OF triggers, using the :NEW variable.
You can now define synonyms for types.
| See Also:
Oracle Database Administrator's Guide for details on creating synonyms |
Scrollable cursors let you move forward and backward through the result set in a Pro*C/C++ appli cation.
The Connection Pool feature in Pro*C/C++ helps you optimize the performance of Pro*C/C++ applications.
Many of the cross-references f
rom this book to other books have been made more specific, so that they link to a particular place within another book rather than to
its table of contents. If you are reading a printed copy of this book, you can find the online equivalent, with full search capabili
ty, at http://otn.oracle.com/documentation/.
This section discusses Java features that were removed from the database in Oracle9i Database release 2 (version 9.2.0). Support for some of these features was moved fro m the database to Oracle Application Server.
The following Java features and related technol ogies are no longer supported as integrated components of the database:
Oracle Application Server now includes Oracle Application Server Containers for J2EE (OC4J). Migrate any existing applications that use the following technologies in the database to OC4J: servlets, JSP pages, EJBs, and CORBA objects.
To develop new applications using EJ Bs or CORBA, you must use the J2EE components that are part of Oracle Application Server. EJBs and CORBA are no longer supported with in the database.
You can still access the database from these components using Oracle Applic ation Server as a middle-tier. You can still write Java stored procedures and Java methods for object types within database applicati ons.
For more information on OC4J, visit the Oracle Application Server documentation pages a t:
http://otn.oracle.com/documentation/ < a name="972594">
| See Also: |
| See Also:
Oracle Database Upgrade Guide for details on the complete migration procedure |
When an application encounters some kinds of storage allocation errors, it can suspend operations and take action such as resolving t he problem or notifying an operator. The operation can be resumed when storage is added or freed.
Rather than repeat a compl ex subquery, you can give it a name and refer to that name multiple times within the same query. This is convenient for coding; it al so helps the optimizer find common code that can be optimized.
| See Also:
Oracle Database Administrator's Guide for details on creating synonyms |
See Also
:
|
Data can be stored in Unicode format using fixed-widt h or variable-width character sets. String handling and storage declarations can be specified using character lengths, where the numb er of bytes is computed for you, or explicit byte lengths. You can set up the entire database to use the same length semantics for st rings, or specify the settings for individual procedures; this setting is remembered if a procedure is invalidated.
| See Also: |
You can now perform bulk SQL operations, such as bulk fetches, using native dynamic SQL (the EXE
CUTE IMMEDIATE statement). You can perform bulk insert or update operations that continue despite errors on some rows, then ex
amine the individual row problems after the operation is complete.
The
UTL_HTTP and UTL_SMTP packages have a number of enhancements, such as letting you access password-protected Web p
ages, and sending e-mail with attachments.
Improve per formance by compiling Oracle-supplied and user-written stored procedures into native executables, using typical C development tools. This setting is saved, so that the procedure is compiled the same way if it is later invalidated.
| < font face="Arial, Helvetica, sans-serif">See Also: |
The OCCI API lets you write fast, low-level database applications using C++. It is similar to the Oracle Call Interface (OCI) API.
In Oracle9i, application developer s no longer need to secure a role by embedding passwords inside applications. They can create application roles and specify which PL/ SQL package is authorized to enable the roles. Application roles enabled by PL/SQL packages are called s ecure application roles.
You can create an application context by entering a command like:
CREATE CONTEXT Order_entry USING Apps.Oe_ctx;< /a>
Alternatively, you can use Oracle Policy Manager to create an application context.
You can run external procedure agents (the EXTPROC entry in tnsnames.ora) under different instances of
Oracle Database or on entirely separate machines. This lets you configure external procedures more robustly, so that if one external
procedure fails, other external procedures can continue running in a different agent process.