IBM Licensed Programs: Database Accessories
530 iSeries Handbook
SQL dialects, protocols, operating systems, data types, error codes, and functional
differences are all transparent to the application. Similarly, client workstations attached to
DB2 DataJoiner only need one client interface to DataJoiner and all other supported data
sources are then available. This eliminates the need for each workstation to have client code
for each data source and is very efficient and cost effective.
One way DataJoiner provides data transparency is with compensation. DataJoiner can
provide functions not available at a data source, enriching the native SQL of the data source.
For example, a client can submit a query using DataJoiner to a data source. If that function is
not supported (such as Recursive SQL) at the data source, but is supported by DataJoiner,
the query can complete successfully. DataJoiner compensates by simulating the function,
and, therefore, preserving transparent access.
Features
DB2 DataJoiner offers extensive support for nontraditional and traditional applications to fully
integrate the database architecture:
• Large Objects (LOBs): Large object support allows multimedia objects, such as
documents, video clips, images, and sound recordings, to be stored in any data source
(which support LOBs, like DB2 UDB) and manipulated like other database objects.
The size of any one LOB can range up to 2 GB.
• Global User-Defined Types (UDTs): Global UDTs allow users to define new data
types across multi-vendor data sources, which are represented in the DB2 DataJoiner
database using built-in types. For example, a user can define two currency types:
CDOLLAR data type for Canadian dollars and USDOLLAR data type for U.S. dollars.
UDTs, like built-in types, can be used for columns of tables as well as function
parameters, including user-defined functions (UDFs). For example, a user can define a
data type such as ANGLE (which varies between 1 and 360) and a set of UDFs to act on
it, such as SINE, COSINE, and TANGENT.
• Global User-Defined Functions (UDFs): Application developers often want to create
their own suite of functions specific to their application or domain. Global UDFs make
this possible, expanding the scope of DB2 DataJoiner to include customized business
or scientific functions that span multi-vendor data.
For example, a retail store could define a PRICE data type for tracking the cost of items it
sells. This store might also want to define a SALES_TAX function, which would use a
given price value as input, compute the applicable sales tax, and return this data to the
application.
• Recursive Global SQL Queries: DataJoiner supports not only multi-vendor
bills-of-material queries but also the more powerful forms of recursive queries such as
path expressions. Examples of queries that become possible with recursion are: