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?
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
Synes godt om
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.
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.