Wednesday, November 30, 2011

Manually Uninstalling a DSC

I can't condone manually tweaking the LiveCycle database, so I strongly encourage you to deal with Adobe Support if you ever run into a situation like this.

That being said, on a number of occasions a DSC wouldn't uninstall properly for me and thus I'm faced with the following error when trying to stop/uninstall it from Workbench or by using an Ant script:

2011-11-29 10:41:37,818 ERROR [org.jboss.ejb.plugins.LogInterceptor] RuntimeException in method: public abstract java.lang.Object com.adobe.idp.dsc.transaction.impl.ejb.adapter.EjbTransactionBMTAdapterLocal.doBMT(com.adobe.idp.dsc.transaction.TransactionCallback) throws com.adobe.idp.dsc.DSCException: java.lang.IllegalStateException: Service: YourCustomService version: 0.0 must be in a running state prior to stopping at com.adobe.idp.dsc.registry.service.impl.ServiceRegistryImpl.stop

These are the sql scripts that will allow you to manually fix the state so that it can be uninstalled:

-- Get info about the service in question
select * from adobe.tb_sc_service where id = 'YourCustomService'
-- Chances are it's in a state of 2.
select * from adobe.tb_sc_service_configuration where service_uuid = (select uuid from adobe.tb_sc_service where id = 'YourCustomService')
-- Update the state to 0
update adobe.tb_sc_service_configuration set state = 0 where service_uuid = (select uuid from adobe.tb_sc_service where id = 'YourCustomService')

You should now be able to uninstall the dsc in Workbench.

Thursday, November 17, 2011

Adobe LiveCycle ES2.5 SQL Server JDBC Driver

To follow up with my previous post, if you're doing DSC development with a SQL Server backend and need connectivity from your development environment, you're going to want to make sure you're running the JDK and are using the sqljdbc.jar located at [installdir]\Adobe LiveCycle ES2\lib\db\mssql.  I'm fairly certain that this is a customized version of that driver and not the ones that you can simply download from Microsoft's website.

sqljdbc alternative

If you're looking to download sqljdbc.jar or sqljdbdc.jar depending on what JRE/JDK you're running, you may want to also take a look at  This driver is a bit more flexible and will work with the latest 1.6 JDK that's distributed by Apple.  You simply have to change your JNDI name to start with jdbc:jtds:sqlserver instead of jdbc:sqlserver.