Our forums are currently in maintenance mode and the ability to post is disabled. We will be back up and running as soon as possible. Thanks for your patience!

General discussion


Detach the application from the database

By werewolf_ ·
I try to figure how to detach the database from the application. I'm a DBA, I work for a software develpment company. We have client that use our software with both SQL Server and Oracle. How can we get ride of developing two applications, one for Oracle, one for SQL Server? There's surely a way, my idea is to using a DLL for all actions within the database, and just change the DLL to change the database engine (each DLL optimized for the database concerned). Is someone already tried this? Or do you have a better solution? Don't tell me it's impossible, nothing is impossible, sometimes it's just too much work for what it worth ...

Thank you

This conversation is currently closed to new comments.

Thread display: Collapse - | Expand +

All Comments

Collapse -

it's called

by Jaqui In reply to Detach the application fr ...

absrract the engine specific calls into a libfor that engine.
write 95% of calls as engine agnostic sql.
since any decent application will have 98% of it's database calls as Standard sql, not engine specific sql this should be a couple of hours to edit the sources and re-arrange to create the engine specific libs.

Collapse -

More details

by onbliss In reply to Detach the application fr ...

Not knowing fully about the application, structure and complexity, I would still say the conversion you are seeking is certaininly possible.

Yes. It can be done and has been done. If the presentation, business and data access layers have been written well, then most of the changes would be just to the data access layer.

Just like you said, the data access layer can be implemented in one DLL or a set of DLLs.

During a rewrite you need to keep in mind about the various data objects, other than tables and views, that have been created on the database. For example: Stored procedures, views, triggers. You might urge them to make a conscious decision about encapsulating the business logic in the business layer vs the database.

Collapse -


by chapman.tim In reply to Detach the application fr ...

Depending on what language the application is written in, you might be able to use the built in functions for Oracle and SQL Server clients in .NET.

Collapse -

Generic Database Connectivity

by mdv3441 In reply to Detach the application fr ...

Depending on the development language, you should be able to use a flavor of ADO for both SQL Server and Oracle. I have done this but using only MS Access and SQL Server. Oracle has ADO drivers both Classic ADO and .Net


Collapse -


by Dan Cooperstock In reply to Generic Database Connecti ...

There are existing libraries that do this abstraction for you, using more generic query language / methodologies. The best known one, with a very good reputation, is Hibernate. It works with Java applications, but they have a port to .NET as well, called NHibernate.

Related Discussions

Related Forums