Avatar billede baileys Nybegynder
17. oktober 2005 - 14:56 Der er 4 kommentarer

OleDb vs. SqlConnection/MySqlConnection

Jeg har bygget et komponent til at håndtere både MySql/MSSql ud fra ét interface for at kunne servicere vores systemer bedst muligt, og har så sent som i dag tilføjet Access-understøttelse gennem OleDb - men hvad er fordelen egentlig ved at bruge SqlClient (og MySqlConnection), frem for at lade OleDb håndtere det hele? Hvorfor er SqlClient implementeret i .Net - der må jo være en fordel?
Avatar billede arne_v Ekspert
17. oktober 2005 - 14:58 #1
1) du behøver ikke noget komponent til det

  bare brug interfacene (IDbConnection etc.) så er det i .NET 1.1
  kun instantieringen af connection der er database specifik og i .NET 2.0
  ingenting
Avatar billede arne_v Ekspert
17. oktober 2005 - 15:00 #2
2) SqlClient er ren .NET mens OleDb bare er en .NET wrapper omkring noget
  unmanaged kode

  ren .NET kode giver bedre fejl beskeder og formentlig bedre performance

  ren .NET kode er XCOPY deployment mens OLE DB providere og ODBC drivere
  skal installeres
Avatar billede Slettet bruger
29. oktober 2005 - 09:56 #3
Native .NET provider vil altid (ja ok under forudsætning af at den er lavet ordentligt) fungere bedre (om ikke andet hurtigere) end en OleDb som baserer sig på COM og dermed unmanaged kode. Problement ved den sidste type er at der skal foretages kald ud af CLR hvergang du skal hente data. Det betyder at alle data skal sendes fra unmanaged kontekst til managed kontekst (marshal) og det koster dyrt rigtigt dyrt.

Så native .NET provider hvis det på nogen måde er muligt.
Avatar billede arne_v Ekspert
04. november 2005 - 19:11 #4
all set ?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester