[ oggie @ 14.12.2007. 13:26 ] @
Imam jednu klasu za konekciju na bazu. Ali baza moze biti MSSQL, MySQL,Oracle ....znaci za svaku od ovih baza imam razlicite connection stringove, zatim adaptere kao mySqlDataAdapter....i sl.
Mislim da to treba da uradim preko interfacea ali ne znam kako, da imam jednu klasu koja ce implementirati razlicite interfejse za razlicite baze.
Ako moze neki hint bio bih zahvalan.
[ Shadowed @ 14.12.2007. 15:22 ] @
Napravis metod koji za parametar ima IDataAdapter ili IDbDataAdapter i u njemu radis sa tim a prosledis bilo sta sto implementira taj interface.
[ mmix @ 15.12.2007. 11:08 ] @
Ne znam koliko ti ovo resenje igra, ali mozes da iskoristis ODBC.NET data provider i u data layeru iskoristis OdbcConnection, OdbcCommand, OdbcDataAdapter i ostale klase iz System.Data.Odbc namespace-a, u zavisnosti od potrebe.
ODBC connection stringovi ce ti se razlikovati za razlicite engine, ali ce tvoj kod biti isti u svim slucajevima jer ce native ODBC drajver za bazu raditi neophodne konverzije, dakle ne treba ti engine specific instanciranje, interfejsi i ostala cudesa. Sve baze koje si pomenuo plus jos drugih imaju svoje ODBC drajvere.
Naravno ovo sve pod uslovom da je ODBC standard dovoljan za tvoje potrebe, posto on radi svodjenje baza na najveci zajednicki delilac i ne daje neke specificnosti koje native .NET drajveri daju. ALi ako se tvoje potrebe svode na select/insert/update/delete onda moze da ti odradi posao.
[ oggie @ 18.12.2007. 12:23 ] @
Hvala na pomoci, pronasao sam resenje da koristim DBConnection, DBDataAdapter...a u klasi za konekciju mu zavisno od baze prosledim connection string i instanciram MySqlConnection, SQLConnection...