[C#]lister les bases de données sur ma machine

fafa139
[C#]lister les bases de données sur ma machine

Salut à tous,
Je travaille sous Visual Studio 2005.
J'aimerais bien réaliser un programme qui me permettra de lister toutes les bases de données(SQL Server, ORACLE et ACCESS) se trouvant sur ma machine.

Quelqu'un pourrait t-il m'aider la dessus?

Cordialement,

Afef

fredericmazue

Bonjour,

C'est encore pour le TreeView ? :wink:

Pardonne moi. Je crains que tu me trouve un peu lourd, mais tu poses une question qui est difficile dans tous les cas de figure et cela m'oblige à te demander: que veux tu faire exactement ?
De même qu'il n'est pas pareil de lister des ordinateurs connectés au réseau et des ordinateurs qui embarquent un serveur OCP, il n'est pas pareil de savoir si les SGDBR (Oracle, SQL Server,...) sont présents, présent et actifs, ou s'il s'agit de lister les bases de données gérées par un ou plusieurs de ces SGDBR que l'on sait déjà être présents et actifs.

fafa139

Oui, c'est encore pour le treeview!!

Désolée si mes questions sont ambigues et à sens multiples, mais c'est parce que je suis réellement en difficulté et je n'arrive pas à exprimer clairement ce dont j'ai besoin..

Il s'agit de détecter en même temps les SGBDR et les bases gérées par ces SGBDR...

En effet, j'aurais à faire un échange de données entre les serveurs OPC et les différentes bases de données(lecture à partir du serveur OPC de données stockées dans une base, ou écrire les données lues au niveau d'un serveur OPC dans une base de données(archivage)...)
J'espère que c'est bien plus clair comme ça!!!

Pouvez vous répondre à ma question, ou bien avez vous encore besoin d'autres explications?

Cordialement,
Afef

fredericmazue

> Désolée si mes questions sont ambigues et à sens multiples,

Il n'y a pas à être désolée. Tout le monde sait ce que c'est que de devoir tâtonner.

> Il s'agit de détecter en même temps les SGBDR et les bases gérées par ces SGBDR...

En même temps, ça ne vas pas être possible.

> J'espère que c'est bien plus clair comme ça!!!

C'est très clair.

> Pouvez vous répondre à ma question, ou bien avez vous encore besoin d'autres explications?

Répondre non.... trop difficile :)
Mais on va essayer d'aider.

il faut, je pense, procéder en 4 étapes.

1) savoir si et quels SGDBR sont installés. A priori, une nouvelle fois, la WMI est le meilleur (il me semble) moyen pour savoir si une application est installée, surtout à distance.

2) savoir si le services (au sens Windows du terme) tournent, autrement dit si les SGDBR sont lancés sur les machines. Encore une fois la WMI devrait être la solution la plus simple.

3) (point difficile) demander à chaque SDGRB, quelles bases il gère. A priori en consultant des tables systèmes ou en interrogeant une API prévue à cet effet

4) transférer tables et tout ce qu'il y a autour (contraintes, utilisateurs, déclencheurs, etc, etc)

Evidemment si chaque base de données à transférer était définie comme source de donées ODBC sur les machines hôtes ça serait plus facile....