Over the past year I've reviewed a few products from Red Gate - SQL
Compare, Data
Compare, and SQL
Comparison and Synchronization Toolkit, all fine products! If you buy their
"bundle" you also
get a smaller app called COMCompare. I thought it might be useful to take a quick look at what it does
and how it might be a helpful tool to have around.
It's a product well named. It compares any two COM objects (dll, ocx, olb,
tlb) that contain a type library. It won't open a "standard" dll that
exports functions. Just a note, I'm not aware of a comparable product for those
types of dll's but you can at least see the exported functions using the Dependency
Walker tool that ships with Visual Studio Enterprise Edition.
Using it is simple. Select two COM files and click ok. For this article I put
together a very basic COM dll consisting of a person class, then copied the
entire project to a new folder and changed the class by adding an event,
changing a data type, etc.
Clicking ok gave me the following display:
I know that's chopped off a bit, hopefully it will do! Let's talk about what
we can tell from the comparison. On line three of the grid you can see that
there is a property called FullName that is readonly (ro) that doesn't exist in
the object on the right. Skip down to the line about DateOfBirth and you can see
that the properties don't match - in the left object it's typed as a string, and
in the right it's a date. Further down you can see where I added the
HasTooManyFingers event to the left object.
Now unfortunately you can't use the utility to generate 'sync' code the way
you can with SQL Compare or Data Compare, but after all we're comparing compiled
code, not source!
So why would you need this utility? While I think it's targeted more towards
developers than DBA's, it's not so rare that those roles
merge a bit. DLL incompatibilities abound and they are often subtle. I'm able to
resolve most of them by checking the version information in the dll/ocx, it's
usually...but not always...accurate. Having a tool that will let you do a
quick comparison is a lot easier than trying to flip back and forth between two
copies of VB trying to compare settings from the Object Browser.
Is it the first SQL tool you should buy? Of course not. But considering the
price of the bundle which includes it plus SQL Compare plus Data Compare, why
not just buy the bundle and have it when you need it? Got questions or comments?
Post a message in the attached discussion area and I'll normally respond the
same day.