Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Quels sont les avantages et les inconvénients d'OleDB par rapport à SQLClient ?

OleDb est plus générique. Si jamais vous passez à un type de base de données différent à l'avenir, il y a de fortes chances qu'il ait un pilote Ole et vous n'aurez pas à modifier autant de code.

D'autre part, le pilote natif Sql Server est censé être plus rapide que vous l'avez dit, et il a un meilleur support des paramètres (les paramètres peuvent utiliser des noms et n'ont pas ont être en ordre).

Dans mon expérience personnelle, je n'ai jamais remarqué la différence de vitesse; Je n'ai pas non plus trouvé quoi que ce soit pour étayer l'affirmation. Je soupçonne que l'avantage en termes de performances est réel, mais qu'il faudrait traiter des millions d'enregistrements avant de pouvoir commencer à le mesurer.

Ce que j'ai remarqué a fait une différence significative, ce sont les messages d'erreur. J'avais des problèmes avec une ancienne application OleDb et je l'ai changée pour SqlClient par désespoir. Bien sûr, cela ne fonctionnait toujours pas, mais les meilleurs messages d'erreur fournissaient suffisamment de nouvelles informations pour que je puisse résoudre le problème.