martedì 26 marzo 2013

EnterpriseLibrary generic database connection

Nell'eventualità che dobbiamo eseguire delle query su fonti diverse, come un database Sql Server ed un database Oracle, tramite le utility Enteprise library possiamo compiere tale azione, impostando le varie connessione



Qui di seguito il frammento di codice che restituisce un datable valorizzato

//SqlServer
GetDati("Data Source=SErverDB;Persist Security Info=True;User ID=Username;password=MiaPassword;","System.Data.SqlClient", "Select * from Tabella")

//Oracle
GetDati( "Data Source=ServerOracle;Persist Security Info=True;User ID=UserName;password=Password;", "System.Data.OracleClient", "Select * from Tabella")




 DataTable GetDati(string Connection, string ProviderName, string Query)
        {
            DataTable ReturnDtt = new DataTable();
            DbProviderFactory dbProviderFactory = DbProviderFactories.GetFactory(ProviderName);

            Database db = new GenericDatabase(Connection, dbProviderFactory);

            DbCommand DBCommand = default(DbCommand);

            DBCommand = db.GetSqlStringCommand(Query);

            ReturnDtt = db.ExecuteDataSet(DBCommand).Tables[0];

            return ReturnDtt;

        }

Nessun commento: