Bonjour,
Je veux développer une classe en c# permettant de se connecter à n'importe quel type de base de données.
svp est ce qu'il y a un composant logiciel en c# permettant de faire ce type de connexion.
Merci
Bonjour,
Je veux développer une classe en c# permettant de se connecter à n'importe quel type de base de données.
svp est ce qu'il y a un composant logiciel en c# permettant de faire ce type de connexion.
Merci
Salut,
bienvenue dans la quête du Graal.
Il y a pas mal de composants, gratuits ou payants, qui proposent ce genre de trucs, en cherchant sur le net. Ça marche toujours plus ou moins bien, sachant que :
- même si tu as une classe qui se connecte à SQL Server, Oracle et Cie avec le même appel, derrière ce ne sont jamais les mêmes composants qui sont réellement appelés
- si tu dois te connecter à Oracle, tu as besoin d'installer le client, idem pour MySQL, etc etc
- en faisant une classe générique, tu perds en fiabilité, performance des fois et fonctionnalités toujours, car certains paramètres de connexion sont uniques pour le driver cible
- après quand tu as fait ta connexion, au niveau des requêtes, il n'y a que le SQL standard qui soit...standard, donc tu perds tout le bénéfice du Transact-SQL sur SQL Server, du P-SQL sur Oracle etc.
- Tu vas te rendre fou avec les formats de données retournés, notamment sur Oracle. Essaie par exemple de faire une classe générique pour retourner des dates quel que soit le moteur de la base de données cible, tu comprendras...
c-à-d il vaut mieux que je construit cette classe générique à partir des classes qui existent en c#. mais je connais par exmple sous delphi il y a un compasant permettant de se connecter à n'importe quel type de bases.
En fait à travers ce lien on peut réaliser à partir d'une description XML les objets nécessaires pour se connecter à une BD relationnelle. par contre je cherche à travers un code c# de se connecter sur n'importe quel type de BD.
et dans quel but , si je peux être curieux ?
NHibernate permet de se connecter à plusieurs bases de données en changeant simplement la chaîne de connexion. Ensuite, le code est identique quel que soit le SGBD . N'est-ce pas le but recherché ?
@hamma2
Cherche du côté de subsonic. Version 2 pour un usage "classique", version 3 pour un usage a la linq.
Je pense qu'il y a beaucoup de bénéfices a passer a la v3.
Partager