Home » Release News » DB-Gate Release News

DB-Gate Release News

================================================================================
DB-Gate will report now failures to submit Commitment Control commands. This is 
implemented for run mode #2 and #3.

================================================================================

RDB Definition
---------------
A new way to specify RDB User+Password in Part B of the RDB definition.
This would bypass credentials entered in the CONNECT statement or via Server 
Authentication Entry. If User is entered, password is mandatory.
┌───────────────────────────────────────────────────────────────────────────────┐
│                        Modify Directory Entry - Part B                        │
│                                                                               │
│Directory entry . . . . . .  LOPC                         (Driver: AS400DB2   )│
│Description . . . . . . . .                                                    │
│                                                                               │
│Language support  . . . . .  *AUTO               *AUTO, *NONE, 4-11 for Bidi   │
│Keep alive interval . . . .      0               Minutes, 0=No                 │
│Keep alive statement  . . .                                                    │
│                                                                               │
│Fetch size  . . . . . . . .      0               Number of records, 0=Default  │
│Force RDB User  . . . . . .  DB                  Name, *NONE                   │
│          Password  . . . .                      Character (case sensitive)    │
│Overrides CONNECT / Server Authentication Entry values.                        │
└───────────────────────────────────────────────────────────────────────────────┘
If User+Password are specified also in the JDBC URL it is up to the driver to 
decide which one gets the priority. In DB2 for example the URL will be checked
and the new fields will be ignored.
If only operator has access to RDB definition he can use this way to enforce
RDB user to remote. SQL jobs have no way to bypass it. 
================================================================================
RDB LOG level is checked now on each CONNECT statement and if found to be '3' or '5' the 
DUMP feature will be activated.
================================================================================
A new command that allows for programmatically activate/deactivate an RDB entry 
created with DB-Gate.
 
The SMZB/SETDBGDE command requires two parameters - an RDB entry name registered  
with DB-Gate and either *YES to activate or *NO to deactivate this entry.
================================================================================
STRDB > we check now that user profile SECURITYBP is enabled with a non expired
password. A proper message is displayed if these conditions don't meet. 
================================================================================
Verify RDB (VFYRDB) command: bug fix - Password value is passed now as mixed 
case characters and so finally this command works as expected.  
┌───────────────────────────────────────────────────────────────────────────────┐
│                           Verify DB-Gate RDB (VFYRDB)                         │
│                                                                               │
│ Type choices, press Enter.                                                    │
│                                                                               │
│ RDB name . . . . . . . . . . . . > A150          Name                         │
│ RDB user . . . . . . . . . . . .   *AUTO         Character value, *AUTO       │
│ RDB password . . . . . . . . . .                 Character value              │
└───────────────────────────────────────────────────────────────────────────────┘
================================================================================
PC driver: a bug fix regarding the use of the ‘@’ character when user/password 
are specified. We had a NumberFormatException as the Java program tried to parse 
an int from the string right to the @. Now we ignore this error.
Logging
-----------
Each RDB entry can be set now with log level of #3 or #5.
Setting either of these levels results in extended logging to the IFS log. 
This takes effect on the next ARCN0100 format of that RDB. 
For the dump file DBILOGP there is a difference. When the exit program DBGATER
is started for the first time it examines just once the first RDB that comes 
into interaction with it. This will set the logging level for that session for 
until it exits with SETON LR. If we wish to dump just a specific RDB we should
set it's log level to #3 or #5 and start a new job. In that job the first thing
to do is to connect to that RDB. Only the first RDB that comes into interaction 
with the exit program will determine the dump behavior. Any other RDB involved
in this session will also be dumped as this is examined only once.
In general, the guideline for dumping an RDB activity is to run a dedicated job
and CONNECT that RDB only. Even better is to clone the RDB to a new name and set a 
specific log level. Then, CONNECT that RDB only, in a new job.
================================================================================
New JVM Settings screen extends option #81     
------------------------------------------      
                                                                       
 For Run mode 2=Internal server:                                       
 JVM Path  . . . . . . . .                                             
 JVM Properties  . . . . .                                             
 Number of JVMs  . . . . .   1       
 
JVM path example:   
/QOpenSys/QIBM/ProdData/JavaVM/jdk60/64bit
JVM properties example:  
-Xmx1024m;-Djava.version=1.4;                               
================================================================================
Java side Changelog
--------------------
***
Creating local table based on a remote select
---------------------------------------------
Added support for that which is another three part name feature.
---Note: the local target library has to be journaled! There are two methods 
to achieve that:
    1. Use Start Journal Library (STRJRNLIB) 
    2. Use CREATE SCHEMA SQL statement (must COMMIT in order to persist library)
Example: 
CREATE TABLE QTEMP.TT AS (SELECT * from ORA.TOTO.DEMO_STATES) WITH DATA
There are two ways to achieve this:
   1. Have a  server authentication entry for your current AS400 user and for 
      the remote DB. Issue the 'CREATE TABLE..AS (SELECT * ..) WITH DATA' 
      without any connection attempt to the remote DB.
   2. Connect to the remote DB then set connection to the local DB and issue 
      the SELECT statement.
Upon this request there are two ARXI0100 commands that we can't send to remote 
server. All we do is nothing but filling the reply buffer. 
Then format ARDT0100 is sent which results in ORA-00903: invalid table name. 
This failure does not affect the successful copy of the remote table.
***
Added support for the case of VARYING (VARCHAR) parameters in method 
setParameters(..). The actual length of the parameters is calculated and being 
used rather than their declared length.    
***
Extended support for FORMAT_ARXB0100 (Execute bound statement that does not 
return data format). We have added a utility class that searches through the 
statement and carefully replaces : H with question mark. 
***
 - Updated Oracle and DB2 drivers.
 - Federated feature is commented as well as cleared from the product CLASSPATH.
 - ParseUtils: code will remove null indicators. 
 - PC driver has been moved to a separate project. There are no compilation 
   references to this driver. It is now an external JDBC driver.
***
Added support for statement like the below:
select count(*) into :i from TEST2 where A=rtrim(:x) AND B=RTRIM(:y)
This is not a CALL statement and it has more than one parameter.
This is the case of ARXD0100 format (Execute bound statement that returns data 
format).
***
Bug Fix: in the method 'setParameters' we handle now correctly VARING types 
of size 1 and 2. Somehow those two sizes fell into a kind of what we 
thought to be a protection procedure.
  • A critical update to ensure there is only one serving job per requester job. This is done
    using the sessions’ file.
  • Build time and version are printed now to IFS server log.
  • Native side:
    When starting the server in run mode #2 the DataQueue is recreated.
  • Native side bug fix:
    The log file SMZBDTA/DBXX is made up as member per day.
    The name given to each new member was incorrect.
    Correct member name is now 'L' + YYMMDD.
  • DB‐Gate server on PC:
    AboutDialog – open log: “open file” dialog shows only real logs and hides lock files and directories.
    Log is displayed in an internal real only viewer that has a popup with some basic
    functions.
  • The definition: os400.stderr=file:/tmp/dbgater_err_sys.txt is removed from the sp.properties file.
    It has been found that the line prevents a 64bit JVM from loading.