views:

101

answers:

2

Does anyone know of an open source database proxy where it can serve as an intermediary between a closed-source client application and either a SQL server and/or Oracle database?

+1  A: 

In my experience, I have not found a proxy for an Oracle database. Therefore, I took matters into my own hands. A valuable source of this information can be found in Oracle's JDBC drivers. As well, I recommend using Wireshark to analyze the basic network traffic between your client and an existing database (although it only understands the basic of the protocol, you can get a feel for the general packet structure).

I don't know what you expect your proxy to do, so I will give you a summary of what I needed mine to do. Mine was supposed to allow clients to connect to my proxy server using a user name, password and SID that could be completely different from the real Oracle server. For example, if a client connected to the proxy as user name corner, password gas and SID DOGRIVER, the proxy would translate it to user name scott, password tiger and SID PROD on the real server.

I have managed to create a proxy that works with 10g databases. With a tiny bit of work, it can be modified to work with 11i. With some more intensive work, it can work with 9i. Most information I needed was found in the JDBC drivers and Wireshark mentioned earlier, but I am willing to share my code if you're interested.

Adam Paynter
Absolutely would be interested in seeing your code. I wanted to use it for the same challenge.
jm04469
Fair enough, I will have to clean it up.
Adam Paynter
A: 

For SQL Server there's FreeTDS

Nick Kavadias