Accueil > Forum > > > > Connection a des BD différentes
Connection a des BD différentes
mardi 19 décembre 2006 à 09:10:31 |
Connection a des BD différentes

NETSAGE
|
Bonjour à tous et toutes
Je voudrais créer une class qui me permet de construire la ConnectionString dynamiquement avec la possibilité de choisir sa BD, son serveur et le domain par des choix sur des ListBox. Or, je n'arrive pas a trouver le moyen, ou comment construire ces listes. En claire, quelles sont les fonctions ou class qui me permettent d'obtenir ces infos pour les charger dans les listebox ? Si vous avez une idée, elle sera la bien venue. Merci à tous et toutes, cordialement
|
|
lundi 15 janvier 2007 à 22:15:29 |
Re : Connection a des BD différentes

Gwendal3
|
Salut,
Regarde du côté de dbProviderFactory
Voilà !
using System; using System.Collections.Generic; using System.Text; using System.Data.Common; using System.Configuration; using System.Data; using System.Collections; using System.Reflection; using System.Transactions;
namespace Bewise.Data { /// <summary> /// Classe d'acces générique à une base de donnée dont le Proivder existe /// </summary> public class Generic {
#region Propriétés privée ConnectionString : A Paramétrer
private static string connectionString = "ConnectionString";
#endregion
#region Propriétés Privées
private static ConnectionStringSettings connectionStringSettings; private static ConnectionStringSettingsCollection connectionStringsCollection; private static DbProviderFactory dbProviderFactory; private static bool cacheEnabled = true; private static DbCommand currentCommand; private static TransactionScope transactionScope;
#endregion
#region Propriétés Publiques
/// <summary> /// Provider d'acces aux données /// </summary> public static DbProviderFactory DbProviderFactory { get { return dbProviderFactory; } }
/// <summary> /// Chaine de connexion /// </summary> public static String ConnectionString { get { return connectionString; } set { connectionString = value; } }
/// <summary> /// Récupère la commande courante /// </summary> public static DbCommand CurrentCommand { get { return currentCommand; } }
#endregion
#region Constructeur de la classe d'acces aux données Generic
/// <summary> /// Constructeur de ma classe Static /// </summary> static Generic() { // Récupération de toutes les chaines de connexion connectionStringsCollection = ConfigurationManager.ConnectionStrings;
// Récupération de la classe fabrique suivant le provider dbProviderFactory = DbProviderFactories.GetFactory(connectionStringsCollection[0].ProviderName);
}
#endregion
#region Gestion de la connexion récupérer depuis un Setting
/// <summary> /// Crée une connexion depuis le fichier de configuration /// </summary> /// <returns>Objet implementant DbConnection</returns> public static DbConnection GetConnection() { return GetConnection(ConnectionString); }
/// <summary> /// Crée une connexion depuis le fichier de configuration /// </summary> /// <returns>Objet implementant DbConnection</returns> public static DbConnection GetConnection(String connectionString) { // Création de la connection DbConnection conn = dbProviderFactory.CreateConnection();
// Récupération de la chaine de connexion connectionStringSettings = connectionStringsCollection[connectionString];
// Affectation de la chaine de connexion conn.ConnectionString = connectionStringSettings.ConnectionString;
// retour de la connexion return conn; }
#endregion
#region Création d'un dbCommand (et affectation à la commande courante) /// <summary> /// Créer un objet Command /// </summary> public static DbCommand CreateDbCommand(String commandText, DbConnection connection, CommandType commandType) { DbCommand command = dbProviderFactory.CreateCommand(); command.CommandType = commandType; command.CommandText = commandText; command.Connection = connection;
currentCommand = command;
return command;
}
/// <summary> /// Créer un objet Command : Surcharge /// </summary> public static DbCommand CreateDbCommand(String commandText, CommandType commandType) { DbCommand command = dbProviderFactory.CreateCommand(); command.CommandType = commandType; command.CommandText = commandText; command.Connection = GetConnection();
currentCommand = command;
return command;
} #endregion
|
|
lundi 22 janvier 2007 à 11:28:35 |
Re : Connection a des BD différentes

NETSAGE
|
Salut a tous et toutes;
Je pense avoir trouver une solution qui marche. L'idée est l'utilisation du DataLink qui est fournit en standard lors de l'installation de Windows (Voir les outils dans le panneau de configuration Système...). Donc, par programmation j'ai fais appel au DataLink. L'utilisateur peut ainsi paramètrer la connection string avec les provider et les bases dont il dispose. Le DataLink retourne alors la connection string que je split. Ainsi j'obtiens les segments et selon le segment provider je déclare les connections, les commandes et ainsi de suite (Voir IDBconnection pour plus d'info). Maintenant je réaliser la couche DLA indépendament du Provider et de la BD.
J'ai trouvé cette idée en croisant des recherches sur le net. Merci a Gwendal3 pour sa réponse. NET-SAGE
|
|
vendredi 23 février 2007 à 16:39:42 |
Re : Connection a des BD différentes EURIKA

NETSAGE
|
Bonjour a tous;
EURIKA,
Avez-vous-compris, eh oui j'ai trouvé. Et du faite que vous êtes sympa je vous donne la solution que j'ai choisis
1 - J'ai utilisé le DataLink via vb.net pour récupérer la chaine de connection. (Cela permet d'être indépendant de la base) 2 - J'ai hasché la chaine obtenu en couple (cle/valeur) dans une haschtable. (Parmis ces couples il y a le couple (Provider/Valeur) 3 - J'ai déclaré dans le fichier de config de l'appli tous les segments d'une connection string sans les valeurs de chaque provider (SqlClient, OracleClient,....) 4 - Selon le provider que le DataLink ma founit, je récupere a partir du fichier config les segments qu'il faut pour la connection string. 5 - Je cherche ensuite les valeurs dans la haschtable pour chaque paramètre que j'ai recupéré dans le fichier config pour construire la connectionString.
Voilà le tour est joué et ça marche ?
Salut
NET-SAGE
|
|
Cette discussion est classée dans : bd, connection, class, différentes, construire
Répondre à ce message
Sujets en rapport avec ce message
Connection à une BD [ par Zouheir ]
Quelqu'un peut me confier la chaine à utiliser pour se connecter à une base de données protégée par un mot de passe ?. J'ai essayé avec la suivante :
Connection sécurisée a une BD Access [ par gandalfgris ]
Bonjour,J'ai un probleme, je n'arrive pas a me connecter a ma base.. cette base est proteger par un groupe de travail. (.mdw). comment expliquer a ma
connection access [ par tipou ]
Boujour a tousvoici mon probleme je desire changer le chemin de ma bd access mais je ne veux pas changer le code dans toutes les forms alors j'ai fais
Important : connexion ado sur bd access protégée par password [ par drmad ]
Bonjour, si qq'un pouvait m'aider ce serait sympa.Je suis en train de développer une application pour mon mémoire en vb et j'ai une colle que je n'arr
Pb connection a une database [ par sbouquet ]
Bonjour!J'ai un enorme probleme mais peut etre qu'il est pas si important que ca. J'ai fait un prog qui me permet d'acceder a ma database et de la mod
URGENT : Access 97 & ADO & Connection à sa propre BD [ par Foub12 ]
Bonjour !Je suis en stage, et je suis désespéré car je n'arrive pas à me connecter à ma propre base sous Access 97 !J'écris ceci dans une méthode d'un
connection au base de données [ par elabbassi ]
Bonjour,Aidez-moi SVP(Provider=Microsoft.Jet.OLEDB.4.0;DataSource=c:\Bd.mdb;Mode=Share Deny None;Persist Security Info=False)c'est ma chaîne de connec
Connection a un base Access [ par rochonweb ]
Bonjours a tousJe veut me connecter, par une premiere BD Access, sur une deuxieme BD Access. Je veut , par un formulaire, aller chercher les informati
Connection Combo box à une BD [ par philsandjong ]
Bonjour à tousJ' ai fait un programme vb avec combo box. Le problème?quand je deroule le combo box, je ne vois pas les articles disponiblent dans la b
Urgent, connection à une Bd sur un Server distant Merci [ par Nightcourrier ]
Bonjour à vous, j'aimerais savoir comment me connecter à une base de données qui se trouve
Livres en rapport
|
Derniers Blogs
UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
VB.NET ET COMBOBOXVB.NET ET COMBOBOX par minouthebreaker
Cliquez pour lire la suite par minouthebreaker
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|