+

Search Tips   |   Advanced Search

Migrate a UDDI database that uses Apache Derby

If a UDDI database that uses Apache Derby was created with WAS v6.1 or earlier and now uses Apache Derby Version 10.2 or later, we need to migrate the database. If we have a UDDI database that uses any other supported database, including versions of Apache Derby earlier than Apache Derby Version 10.2, we do not need to undertake this procedure.

Migrate the installation of WAS; ensure selected the option to migrate applications, so that the UDDI registry application is migrated.

Use this procedure if a UDDI database currently uses Apache Derby Version 10.2 or later. In this version of the product, such databases are being used with Apache Derby Version 10.3. Typically, we need to migrate the database if a UDDI database that uses Apache Derby was created with WAS v6.1 or earlier, and you upgrade the servers to the current level of the product.

If we do not migrate the database, the following error occurs when you try to save a business entity in a UDDI registry running on the current level of the product, where the registry uses Apache Derby Version 10.2:

  1. Ensure that any servers that use the UDDI database are stopped.

  2. Use the following command to start the Apache Derby command prompt:

      WAS_HOME/derby/bin/embedded/ij

  3. Run the following commands at the command prompt. Substitute the UDDI database location in the CONNECT statement.
    connect 'WAS_HOME/profiles/profileName/databases/com.ibm.uddi/UDDI30';
     drop trigger ibmudi30.tr_upd_busallsvc_p;
     create trigger ibmudi30.tr_upd_bservice_p  after update of businesskey on ibmudi30.bservice  referencing old as old_real_service  new as new_real_service  for each row mode db2sql update ibmudi30.busallservice  set ibmudi30.busallservice.owningbusinesskey = new_real_service.businesskey  where ibmudi30.busallservice.servicekey = new_real_service.servicekey  and ibmudi30.busallservice.owningbusinesskey != ibmudi30.busallservice.businesskey;
     exit;

  4. Restart the servers that use the UDDI database.