Dotnetsmartconnection : connexion à une bdd access ou sql server.

Soyez le premier à donner votre avis sur cette source.

Vue 13 935 fois - Téléchargée 1 456 fois

Description

DotNetSmartConnection permet de réaliser des connexions à destination, soit d'une BDD ACCESS, soit d'une BDD SQL Server. On peut facilement étendre ses fonctionnalités à une BDD Oracle ou autres.

Il s'agit d'un ensemble de classes structurées selon le modèle du pattern factory. En somme, une application cliente devra implémenter une unique classe : DbConnection. Cette dernière fournit un constructeur public et une unique méthode de classe : GetConnection(....).

Ainsi, une 1ère étape consiste à déclarer, dans une application cliente, une instance de la classe : DotNetSmartConnection.DbConnection. Ce constructeur ressemble à ceci : << public DbConnection (string sConnectionString, string sDriverName) >>
L'idéal serait de définir ces 2 paramètres ds un fichier web.config par exemple(Voir code ci-dessous). Nous disposons donc d'une instance de la classe DbConnection.

La 2nde et dernière étape consiste à faire appel à la méthode de classe monInstance.GetConnection() qui retourne à l'application cliente un objet de type IConnection. Fin de l'opération. Vous pouvez à présent réaliser toutes vos requêtes sur votre BDD favori. :-)

Avant de me poser vos questions, prenez le temps de comprendre l'organisation des classes.

Au plaisir,

Gz.

P.S : Je me suis entièrement inspiré des travaux de Kishore Chaliparambil, développeur sénior. J'en ai fait une version allégée, ai amélioré la gestion d'erreur et étendu les fonctionnalités. Ses travaux sont disponibles à l'adresse suivante : http://www.c-sharpcorner.com/Code/2002/Oct/DbIndepCode.asp

Source / Exemple :


<!-- Modèle du fichier web.config -->

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <!--

  • Définit le gestionnaire d'événements lié à la section : *
  • DbConnectionManager définie ci-dessous. *
--> <configSections> <section name="DbConnectionManager" type="DotNetSmartConnection.DbConfigurationHandler, DotNetSmartConnection" /> </configSections> <!--*****************************************************************--> <!--
  • Cette section permet de définir la chaîne de connexion à utiliser *
  • par l'application pour se connecter à la base de données. *
--> <DbConnectionManager> <!-- Paramètres de configuration pour MS Access --> <ConnectionPool name="AccessPool"> <DriverClass>DotNetSmartConnection.OleDb.Driver</DriverClass> <ConnectionString>Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Data\Job.mdb;User ID=;Password=;</ConnectionString> <MinimunConnections>1</MinimunConnections> <MaximumConnections>1</MaximumConnections> <ConnectionTimeout>60</ConnectionTimeout> <ConnectionReaperDelay>60</ConnectionReaperDelay> </ConnectionPool> </DbConnectionManager> <!--*************************************************************************--> </configuration>

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

younesnr
Messages postés
2
Date d'inscription
vendredi 2 avril 2004
Statut
Membre
Dernière intervention
2 avril 2004
-
Bonjours,
c vraiment fabuleux ce que tu viens de coder.
mais le pb est que c diffecile de deviner les parametre à fournir au constructeur de la classe DBConnection.
si c possible, de nous donner un exemple des parametres à donner au constructeur de la classe DBConnection (c urgent, je l'es tester mais ça me sort l'erreur:

"value cannot be null.
parameter name :type"

ça d'une partie; et d'une autre si on aime bien comprendre l'organisation des classes, pour facilement ajouter d'autre classe pour oracle...
si vous mettez un diagramme de classe qui permet de comprendre les differentes relations entre classes ça serai géniale.

et merci d'avance
gestiondespieces
Messages postés
3
Date d'inscription
samedi 21 mars 2009
Statut
Membre
Dernière intervention
18 avril 2009
-
ou je trouve des codes ,des interfaces d'une application c# connecteé à une base access

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.