Pretty funny bug in the Beta of BizTalk.
In a map, if you have a loop shape and you want to do a DBLookup, there is potentially a problem if the DBLookup can not find any data for the key you provide.
If, during a loop, the DBLookup can find a data and during the next loop the DBLookup can not find one, you will get the previous data.
Apparently, the DBLookup keep a cache of data and when it can not get a data from the DB, it sends the previous one.
Finally, to work around, I have written my own DBLookup.
I hope this feature will be fixed for the release...
Yves Peneveyre's blog
Professional and Personal blog of Yves Peneveyre
Tuesday, November 25, 2003
Wednesday, November 05, 2003
Another week spent on a BizTalk problem : How to start only one orchestration instance at a time ?
After several posts on different newsgroups, I had some answers, but a bit complicated to understand. Many thanks to Vipul Goyal on the biztalk 2004 newsgroup which answered me the more useful pattern.
Here after, what he answered :
Activate receive message M initialize correlation C;
Process-message(M)
while(true)
{
Receive message M follow correlation C;
Process-message(M)
}
Okay, but.....correlate on what ???
I tried some kind of correlation to finally come to the following solution :
Correlate on the BTS.ReceivePortName
That's it !

