+

Search Tips   |   Advanced Search

Migrate a UDDI database that uses Apache Derby

If a UDDI database that uses Apache Derby was created with WebSphere Application Server 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 that we select 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 we upgrade the servers to the current level of the product.

If we do not migrate the database, the following error occurs when we 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:

Serious technical error has occurred while processing the request.


Tasks

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

  2. 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.