Consultor Eletrônico



Kbase 16196: Deploying AS/400 applications with another database name
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   27/03/2003
Status: Unverified

FACT(s) (Environment):

Progress AS400 Dataserver

SYMPTOM(s):

Deploying AS/400 applications with another database name

<program name> non-PROGRESS database <name> unknown. (1008)

CAUSE:

Applications developed using the UIB contain the database name into the source code, even if the option "Qualify Database Fields with Database name" is not checked. This happens because:

- The UIB stores always the database name used to develop the .w.
- If you use the "Insert Database Fields" option, the field is inserted including table and database names.
- The UIB qualifies always the table names if there are more than one database connected, and working with an AS/400 database there are two databases connected: the schema holder and the AS/400 library.

For this reason you are not able to load a .w source into the UIB if you have connected another database which name is different than the one used to develop it. You can not use the logical name parameter because this is already used to link the schema holder to the AS/400 library.

FIX:

You only need the UIB to develop the application. In the other scenarios (tests, deployment, ...) you can use the CREATE ALIAS to run your programs using another database name.

The usage of CREATE ALIAS is different depending on if you used an AS/400 database or a Progress one to develop the program. In the first case you may need to create aliases for both databases, schema holder and AS/400. For example:

  CONNECT holder2 -1.
  CONNECT as400db2 -H as400name -N TCP -S service -U user -P passwd.
  CREATE ALIAS holder1  FOR DATABASE holder2.
  CREATE ALIAS as400db1 FOR DATABASE as400db2.
  RUN "init.w".  /* Run the first program developed using the UIB */

where holder1/as400db1 are the development databases and holder2/ as400db2 are the deployment ones.

If the development database was a Progress one, you only need an alias for the AS/400 database. Example:

  CONNECT holder2 -1.
  CONNECT as400db2 -H as400name -N TCP -S service -U user -P passwd.
  CREATE ALIAS windb FOR DATABASE as400db2.
  RUN "init.w".  /* Run the first program developed using the UIB */