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:
Serious technical error has occurred while processing the request.
- Ensure that any servers that use the UDDI database are stopped.
- Use the following command to start the Apache Derby command prompt:
WAS_HOME/derby/bin/embedded/ij
- 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;
- Restart the servers that use the UDDI database.