If a UDDI database that uses Apache Derby was created with WebSphere® Application Server
Version 6.1 or earlier and now uses Apache Derby Version 10.2 or later,
you need to migrate the database. If you have a UDDI database that
uses any other supported database, including versions of Apache Derby
earlier than Apache Derby Version 10.2, you do not need to undertake
this procedure.
Before you begin
Migrate your installation of WebSphere Application Server; ensure that
you select the option to migrate applications, so that the UDDI registry
application is migrated.
About this task
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,
you need to migrate the database if a UDDI database that uses Apache
Derby was created with WebSphere Application Server Version 6.1 or earlier, and you upgrade the servers
to the current level of the product.
If you do not migrate the
database, the following error occurs when you try to save a business
entity in a UDDI registry that is 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.
Procedure
- 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.