| Oracle Transparent Gateway for DB2/400 Installation and User's Guide Release 9.2.0.1.0 for IBM AS/400 Part Number A97615-01 |
|
This chapter describes the changes and corrected problems in this release. It contains the following sections:
The production components that are included on the product CD-ROM are:
The SQL*Plus version 9.2 DESCRIBE command can be used to access remote DB2/400 object information.
This support applies to Eastern Asian Languages.
Unicode columns in DB2/400 tables can now be processed by the gateway.
CCSID 1026 is now defined within DB2/400.
The recovery password is no longer in plain text. For more information, refer to "CHGRECOPRF, Change Recovery Profile Parameters".
The problems documented in the following section are specific to the Oracle Transparent Gateway for DB2/400, and are known to exist in this release of the product. These problems are currently being addressed by Oracle Corporation. Refer to the respective bugs for the current status of each problem. If you have any questions or concerns about these problems, please contact Oracle Support Services.
A current list of problems is available online. Contact your local Oracle Corporation office for information about accessing this online information.
The restrictions documented in this section are known to exist for the products in this release of the Oracle Transparent Gateway for DB2/400. Refer to Chapter 9, "Developing Applications", for information about limitations when developing your applications.
Once the data dictionary tables are installed by a release 9i Gateway, do not reinstall the data dictionary tables from a previous version Gateway, or you will not receive the benefits of the full release 9i capabilities.
Oracle fast refresh snapshots are not supported between the gateway and the Oracle9i database server. However, Oracle complete refresh snapshots are supported between the gateway and the Oracle9i database server.
When copying data from an Oracle9i database server to a DB2/400 server, the Oracle SQL command INSERT is not supported. The SQL*Plus COPY command must be used. Refer to "SQL*Plus COPY Command", for more information.
Before installing the gateway, verify that the QCRTAUT parameter is set to allow installation (not set to *EXCLUDE). Refer to "Installation Steps" for information on verifying this value.
Date arithmetic is not supported for SQL statements. For example, the following SQL expressions do not work:
date + number number + date date - number date1 - date2
Refer to Chapter 9, "Developing Applications" for additional information.
You must use the J option on the TO_DATE and TO_CHAR functions to receive valid Julian dates.
GRAPHIC constants in SQL statements that are valid in one character set may not be valid as G-type or N-type GRAPHIC constants in DB2/400. For example, graphic constants in KO16KCSC5601 may contain both single-width and double-width characters. GRAPHIC constants in DB2/400 can contain only double-width characters.
The owner of Data Dictionary (DD) basic tables and views is OTGDB2. This cannot be changed.
Oracle SQL uses hexadecimal digits surrounded by single quotes to express literal values being compared or inserted into columns defined as RAW. Currently, this is not converted to DB2/400 syntax (an X followed by quoted hexadecimal digits) when the SQL destination is the gateway. You must use bind variables to compare or insert into a DB2/400 server column defined with the FOR BIT DATA option.
Gateway design requires that all host variables in a SQL operation be bound before performing a describe function. When using the Oracle Call Interface (OCI), all OCI bind calls for a given statement must be completed before an OCI describe call is made.
When you select RAW data into character bind variables, the CHAR column must be two times the size of the RAW data. Selecting RAW data into character bind variables causes implicit RAW to HEX conversion. If the character bind variable column is too small, the SELECT statement fails.
If GLOBAL_NAMES is set to TRUE in the Oracle integrating server INIT.ORA file, then in order to be able to connect to the gateway, you must specify the Heterogeneous Services (HS) initialization parameter, HS_DB_DOMAIN, in the "Change Oracle Gateway Initialization Parameters" panel to match the value of the Oracle server DB_DOMAIN parameter. Refer to Chapter 6, "Configuring the Gateway" for more information.
The SQLCHECK option must be set to NONE when precompiling programs with the Oracle Precompilers.
The Oracle9i database server provides more functionality for some SQL functions compared to similarly named DB2/400 SQL functions. As a result, these SQL functions are not passed through from the Oracle9i database server to DB2/400. They are, instead, post-processed. SUBSTR is an example of such a function. Some other SQL functions have different semantics in Oracle SQL and DB2/400 SQL. For details, refer to "SQL Functions" in Chapter 9, "Developing Applications".
DB2 does not have a column equivalent to the Oracle ROWID column. Because the ROWID column is not supported, the following restrictions apply:
When UPDATE and DELETE statements are used, in precompiler and PL/SQL programs, they rely internally on the Oracle ROWID function.
Snapshots rely internally on the Oracle ROWID column.
Oracle bind variables become SQL parameter markers when used with the gateway. Therefore, the bind variables are subject to the same restrictions as SQL parameter markers.
For example, the following statements are not allowed:
WHERE :x IS NULL WHERE :x = :y
Oracle Transparent Gateway for DB2/400 does not support CONNECT BY in SELECT statements.
Oracle fast refresh snapshots are not supported between the gateway and the Oracle9i database server. However, Oracle complete refresh snapshots are supported between the gateway and the Oracle9i database server.
If you try to issue a savepoint in DB2/400, you receive an ORA-2070 message. This error is appropriate because DB2/400 does not support savepoints.
Any DB2/400 CHAR or VARCHAR column with a length greater than 4000 bytes is considered a LONG datatype by the gateway.
When using SELECT statements in SQL*Plus or any DB2/400 GRAPHIC or VARGRAPHIC column with a size greater than 2000 characters, the default size of the buffer that is used when retrieving LONG datatypes is 80. Therefore, if you wish to retrieve a DB2/400 CHAR or VARCHAR column with a length greater than 4000 bytes, then you must set the buffer length correctly. If the buffer size is not sufficient to contain the column value, then you will receive the following error message:
ORA-28528: Heterogeneous Services datatype conversion error
To work around this problem, reset the size of the buffer using the SET LONG command in SQL*PLUS or Server Manager.
In addition, if you use a program to retrieve a LONG column on the Oracle client, you must retrieve the entire LONG in one call to Oracle; you cannot retrieve the LONG in sections through the gateway.
|
|
![]() Copyright © 2002 Oracle Corporation. All Rights Reserved. |
|