Petit rappel sur la différence entre SqlNativeClient et ADO.NET

SqlNativeClient est une API utilisé en lieu et place d’ODBC ou OLE DB :

  • Pour faire simple SqlNativeClient est une combinaison des deux (ODBC ET OLE DB) PLUS les fonctionnalités spécifiques à SQL SERVER comme MARS, XML , UDT etc….)
  • L’utilisation de SqlNativeClient s’adresse aux « migrations » d’ODBC ou OleDb qui veulent profiter des fonctionnalités de SQL SERVER 2005 et +

Dans tous les cas, en Code managed, la préconisation reste la Stack ADO.NET, si vous partez sur un nouveau projet.

Conclusion :

Vous voulez « migrer » votre Stack d’accès aux données actuellement en ODBC (ou OLE DB) ? Utilisez SqlNativeClient.

Vous partez sur un nouveau développement en code managed ? Utilisez ADO.NET

Au niveau des performances, rien de notable entre ADO.NET et SqlNativeClient (pas à ma connaissance du moins :) )

Bon … choix !