How to filter tags within Biztalk
Hello Support,
I have couple of questions:
1. How to avoid inserting duplicate tags to the database?
Details: I have configured Alien 8800 reader in biz talk RFID manager along with I/O [Photo eye and Light stack] and also created the Process with SQL sink component. When I break Photo Eye reader will read tags for 3 seconds; during this time duplicate tags are being inserted into the SQL server databse.
So how do we filter duplicate tag?
2. What is the way to push the data to Oracle data base?
Thanks in advance!
Sanka
Hi Sanka,
For your first question: unfortunately our provider doesn't support the Duplicate Elimination Time property directly. Instead one can use the Alien Custom property PersistTime along with outher Alien Custom properties. Alien Support Team can help in reader configuration.
Also one can use the Microsoft's EventHandler example available in the local path like the following:
%RfidInstallDir%\Setup files\RFID_x86\Samples\DupElim
(I'm sure there should be some explanations in Microsoft documentation about how to use it with the RFID Manager.)
Best regards,
Valentina
P.S.:
Myself and Mark will work with you offline to find out the best solution for your scenario.
I'm wondering myself about the second question
Hi Sanka,
For (2), we only have an OOB sink EH that writes to SQL server. If you want to post the events to Oracle db directly from BizTalk RFID, you will have to write a custom EH that does this operation.
You can also evaluate looking at the SQL server replication services if it satisfies your latency requirement in getting the data. [depends on the "real time" defn in your scenario].
thx
Rama
Thanks Valentina,
I will find out how to eliminate duplicate tags/events using sample code provided by microsoft. I think this will be the best way to do it instead of doing it at readere level. If we do it at Biz talk level, we can use same code for all type of readers.[Alien,symbol etc]
Hi Rama,
Where can we get source code for OOBSink? please give pointers to get sample EH code.
Thanks,
Sanka
Hi Sanka
We ship a sample Duplicate Elimination Event Handler. You can find that in your RFID Download or you can download from here
http://msdn2.microsoft.com/en-us/biztalk/bb264601.aspx
Regarding the OOB Sink EH - this is the out of the box event handler that ships with BizTalk RFID and saves tag events to a SQL database. We donot share the source code for that. You would need to write your own event handler for saving events to Oracle Db.
hope this helps
Krish
Hello,
just my 2 cents:
Be sure you have an idea about the number of tag-reads you are going to face.
When you have multiple readers that each hammer you with duplicate tag reads, you might want to implement measures to not have your machine face "overload".
But if this is no issue - sure, implement it at the BizTalk RFID level.
Hi Krish,
thanks for your inputs. I could solve the Duplicate issue using DuEli component.
TO Push Data to oracle: I understand thtat, there is template provided by MS for EH. Could you please lett me know, in which method I should:
1. initilize Database connection parameters?
2. Whcih method sould I use to put my custom logic.?
Thanks,
Sanka.
Hi Sanka:
You would typically want to set up the Init parameters in the GetEventHandlerMetaData() method, validate the same in the Init() method, and connect to / set up the DB connection in the Deploy() method of the EH <am assuming you will try and open a ADO pipe to the Oracle DB). The Deploy method is the only method in an EH that potentially runs at higher privilege (log on user cred) to allow for a DB access operation.
Custom logic to handle TRE's usually goes in the ProcessTagReadEvent() method, though you could implement your custom method as well (attributize it with [RfidEventHandlerMethod] and consume a TagReadEvent with no return values if you are 'sinking' the event to a DB)
If you haven't checked out the talk on writing EH's / processes etc., I'd highly recommend the same (see below)
Also, do use the Event Handler template to get started (one of the samples)
Designing and deploying BizTalk RFID Business Processes
http://www.livemeeting.com/cc/microsoft/view?id=Jumpstart-06&pw=BTS06R2
I hope this helps
Cheers!
/a
Hi Anush,
Thanks for your inputs. It really helped. We are successfully pushed data to Oracle. though I have one question:
1. How do I find out how many times each tag has been read by the reader. Say for example, I am going to read 1 tag for 5 seconds, reader might read same tag may be 5 times in those 5 seconds. Which propert/method should I use to get that count?
Thanks,
Suresh
Hi Anush,
Thanks for your inputs. It really helped. We are successfully pushed data to Oracle. though I have one question:
1. With in biz talk RFID manager, if device is Auto discovered, we can not change the name of the device. Is there any way to rename the device if it is auto discovered?
The work around I found for this is, change the Auto discover port to other than 3988 on provider properties, and manually add the device to the RFID manager.
2. How do I find out how many times each tag has been read by the reader? Say for example, I am going to read 1 tag for 5 seconds, reader might read same tag may be 10 times in those 5 seconds. Which property/method should I use to get that count?
Thanks,
Suresh