Hello all,
I'm developing a simple database acessor for a system, but i need to support 2 databases, PostgreSQL and Oracle (XXg);
A example would be like this (already working for pgsql)
... bunch of properties, constructors and fields
private String BuildConnectionString();
public Int32 ExecuteNonQuery(NpgsqlCommand sqlCommand);
public NpgsqlDataReader ExecuteQueryReader(NpgsqlCommand sqlCommand);
public Object ExecuteScalar(NpgsqlCommand sqlCommand);
I was wondering if it is possible to build a class to handle these two databases using only System.Data interfaces, like IDataReader, IDbConnection, etc. I think it is, but i'm kinda stuck when i need to instance the connection. Example:
public PgSqlConnectionHandler(String username, String password,
String database, String server, Int32 port)
{
this._username = username;
this._password = password;
this._database = database;
this._server = server;
this._port = port;
this._connection = new NpgsqlConnection(BuildConnectionString());
}
In the other case, i would have (_connection is typeof(IDbConnection):
public AgnosticConnectionHandler(String userName, String password,
String database, String server, Int32 port)
{
this._userName = userName;
this._password = password;
this._database = database;
this._server = server;
this._port = port;
this._connection = ????
}
Is there a quick way to do this?
These are simple database requests, I don't need anything fancy, it's a small system.
Thanks for your attention!