Importing ESB BAM definitions without Excel
Posted
Wednesday, January 30, 2008 4:13 PM
by
Jean-Paul Smit
I was working on a PC on which I wanted to install the BAM definitions that come with the ESB guidance for exception handling.
So I browsed to the <installpath>\ESB Exception Handling Install\Install\BAM folder to execute "deploy_exception_tracking.cmd".
Unfortunately I was unable to run it because it requires Excel to be present to process the Excel file containing the definitions and that wasn't installed on that machine. On the other hand I wasn't allowed to install Excel so I had to convert the XLS to XML which also can be used to import the definitions. On my external drive I found an VPC with Biztalk 2006 and Excel installed and used that to let Excel generate the XML.
With renewed energy I changed the ESB deployment file "bmdeploy.cmd" to use the XML instead of the XLS. If you want be able to undeploy it again, also change the "bmundeploy.cmd".
It ran some time and then returned the following error:
Updating Activity... ERROR: The BAM deployment failed.
Encountered error while executing command on SQL Server "VPC-BT2006".
New request is not allowed to start because it should come with valid transaction descriptor.
After some searching I found that it had to do with a bug in ADO.NET that would be fixed in SP2 of SQL Server 2005. So I installed it and tried again. Again the same error. Further research was necessary to find the cause.
At the end it turned out to be a SQL Hotfix fixing it because SP2 didn't.
The XML file with the representation of the BAM definitions in XML can be found here.
Some other thing that I rediscovered is the location of the Excel plugin for BAM. I was used to BizTalk 2004 where BAM.XLS was the Excel sheet to use. Now that one is gone and a plugin is used. Microsoft tells you where to look for it:
If Excel 2003 is not installed, the file BAM.xla is installed to its default location at %System Drive%\Program Files\Microsoft BizTalk Server 2006\Exceldir. If Excel is installed, it can directly be added as plugin using the Tools menu.