Previous queries, exploring binary fields in the datastore, skipped the tables tblResources, tblTasklets, and tblQueryImages. This assumed the columns with a binary datatype in these tables were unlikely to contain ‘hidden’ properties which started this exploration in the first place. According to the official styleguide of the internet, pretentious use of an unverified quote is in order:

“Your assumptions are your windows on the world. Scrub them off every once in a while, or the light won’t come in.”
― Isaac Asimov

Initiate scrubbing:


Because of reasons, I have this Lotus Notes mailbox and occasionally I receive a whole bunch of documents through some automated process. I was hoping to use a mail processing rule to strip the attachments as mail file size is very much still limited in this environment. Unfortunately there is no, or at least I could not find any, mail rule action to save attachments. Fortunately you can always craft an Agent in either LotusScript or Java to do pretty much whatever you want. I opted for a very simple and slightly more generic solution and created an Agent which...

So I found a bunch of binary data and in the datastore and some of it turned out to be xml which had certain interesting bits of information stored in them. Even though it is relatively straightforward to run a sql profiler while you click around in the console application to find the specific thing you are looking for, I wanted to see if there is some way we can figure out all of the information that is ‘hiding’ in those pieces of XML. It would be nice to have this more or less fully automated as I expect different versions might hold a different set of properties. Also, stuff like job results will probably have some variation in their xml, and they will only show up once you have run one of the corresponding built in tasks.


In part 1 I searched for a specific property of an agent and found it buried inside some xml in a binary field. After jumping through some hoops I ended up with a technique to query this field directly. The obvious question was, what else is hidden in similar ways?


Working with RES Automation Manager (AM) you may have experienced some limitations in extracting information about your environment. There is some built-in functionality to generate an “instant report” for some components, but this creates a heavily formatted document, not structured data.

Everything is stored in the Datastore, implemented in an RDBMS such as MS-SQL, DB2, or other (although I have only ever seen these two in production environments). Can we query this directly to reveal some more about the AM environment, and get this data in a format that is structured, for further processing?