This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
You're effectively writing your own query language (and all that goes with it). You'll need a parser that in some way knows where to send each query and for which data. In this case you'll need to query 2 distinct databases from the same query and in some way combine the results to make sense.
What's the relation between the fields, why are they requested together in one query anyway (OK, I remember from biology what a possible relationship might be but is it expressed somewhere in your data in a way your application can use to link rowID 1242522 from the gene table in database A with rowID 6346225 from the protein table in database B?)? Unless you also maintain some sort of indexing and relationship somewhere your application has no way of knowing so you need an indexing and key server as well.
All combined you're effectively writing your own distributed database server. Might be easier to just buy some addon product for your existing Oracle database so that one can handle it all for you, I'm pretty certain such things exist somewhere.
I’ve looked at a lot of different solutions, and in my humble opinion Aspose is the way to go. Here’s the link: http://aspose.com