DB2 adapter registry issue

After installing Host Integration Server 2013 Developer Edition on top of BizTalk 2013, the DB2 adapter was created in BizTalk Admin console. However, after configuring receive location and/or send port with DB2 adapter, the BizTalk Admin console displayed below error:

 

A message sent to adapter “BiztalkMessagingEngine” on send port “SendPort4” with URI “DB2://XXX.XXX.XXX.XXX:446/XXXXXXX/XXXXXXX” is suspended. 
Error details: The Messaging Engine failed to create the transport adapter “DB2”. 
OutboundAssemblyPath: “C:\Program Files\Microsoft Host Integration Server 2013\system”
OutboundTypeName: “Microsoft.HostIntegration.Adapters.MsDb2.Runtime.MsDb2Transmitter, Microsoft.HostIntegration.Adapters.MsDb2.Runtime, Version=9.0.1000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35” 
Exception Details: “Could not load file or assembly ‘file:///C:\Program Files\Microsoft Host Integration Server 2013\system’ or one of its dependencies. Access is denied.”

 

The assembly ‘Microsoft.HostIntegration.Adapters.MsDb2.Runtime.dll’ was present at location ‘C:\Program Files\Microsoft Host Integration Server 2013\system’ but the assembly version was 9.0.2102.0.

 

As pointed out by different blogs, assembly needs to be registered using ‘regsvr2’ command, but it failed with below error:

 

The module “C:\Program Files\Microsoft Host Integration Server 2013\system\Microsoft.HostIntegration.Adapters.MsDb2.Runtime.dll” was loaded but the entry-point DllRegisterServer was not found.

Make sure that “C:\Program Files\Microsoft Host Integration Server 2013\system\Microsoft.HostIntegration.Adapters.MsDb2.Runtime.dll” is a valid DLL or OCX file and then try again.

 

Other solutions tried were:

1. Installed all Cumulative updates for BizTalk 2013 since VM did not have any BizTalk updates installed

2. Re-install Host Integration Server developer edition, recreate adapters in BizTalk Admin console

3. 2. Re-install Host Integration Server Enterprise edition, recreate adapters in BizTalk Admin console

 

but none of it worked.

 

Finally, I decided to revisit the adapter registration and came across  Adapter Registration Wizard on MSDN. It required Transport Adapter Type and Property namespace, runtime & management assembly name. The values given were as below:

Step 1:

Transport Adapter Type: DB2

Property Namespace: http://schemas.microsoft.com/DB2   (Got this value by querying [BizTalkMgmtDb].[dbo].[adm_Adapter])

 

Step 2:

The path to .NET assembly with inbound adapter implementation:

<Host Integration Server Installation Path>\system\Microsoft.HostIntegration.Adapters.MsDb2.Runtime.dll

Type name of the inbound adapter implementation: auto-populated

Check both checkboxes

Checkbox Adapter supports request-response protocol: checked

Checkbox Adapter is isolated: unchecked

Step 3:

The path to .NET assembly with outbound adapter implementation:

<Host Integration Server Installation Path>\system\Microsoft.HostIntegration.Adapters.MsDb2.Runtime.dll

Type name  of the outbound adapter implementation: auto-populated

Aliases separated by a comma: DB2://

Checkbox Adapter supports solicit-response protocol: checked

Step 4:

The path to .Net Assembly with adapter management implementation:

<Host Integration Server Installation Path>\system\Microsoft.HostIntegration.Adapters.MsDb2.Management.dll

Type: auto-populated

Both checkboxes checked.

Step 5:

Specify the output path to save registry file, click Finish.


Navigate to the path at which registry file is saved. Double click to add values to the registry.

 

Restart BizTalk Admin Console & host instances after this activity and DB2 adapter is now functioning as expected.

Leave a Reply

Your email address will not be published.