Liste des Serveurs SQL Server 2000 [Résolu]

Messages postés
26
Date d'inscription
samedi 5 janvier 2002
Dernière intervention
29 mai 2009
- - Dernière réponse : saintnaej
Messages postés
16
Date d'inscription
vendredi 4 juillet 2008
Dernière intervention
11 août 2008
- 9 juil. 2008 à 12:19
Salut à tous,

J'aimerais savoir comment lister les serveurs SQL Server 2000 de mon réseau local avec VB6.

Merci de vos réponses.

Afficher la suite 

Votre réponse

12 réponses

Meilleure réponse
Messages postés
258
Date d'inscription
mercredi 21 avril 2004
Dernière intervention
27 octobre 2010
3
3
Merci
salut,
interresse toi aux objets SQL DMO fourni avec SQL Server. Grace à eux tu peux lister tous les moteurs dispo du réseau et toutes les instances.
ex :
1 - référencie SQLDMO.DLL dans ton projet VB6
2  - déclare tes objets
Public sListserver As SQLDMO.NameList  'Liste des serveurs SQL présent et visible sur le réseau
3 - Charge la liste des servers...
 Set sListserver = SQLDMO.ListAvailableSQLServers

@+

NB : SQL DMO te permet de faire quasiment tout ce que tu veux sur les moteurs sql

Pat

 Don't Worry , Be Happy





<hr />
lorsque le problème est résolu, pensez Réponse Acceptée

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 113 internautes nous ont dit merci ce mois-ci

Commenter la réponse de pneau
Messages postés
200
Date d'inscription
mardi 17 octobre 2006
Dernière intervention
24 mars 2012
2
3
Merci
Excuse moi pneau. Voici un bout de code :

        Dim oApp As SQLDMO.Application
        Dim oNameList As SQLDMO.NameList
        Dim i As Integer


        oApp = New SQLDMO.Application


        oNameList = oApp.ListAvailableSQLServers
        For i = 0 To oNameList.Count - 1
            Combo1.Items.Add(oNameList.Item(i).ToString)
        Next i


        oApp = Nothing

Je devrais donc récupérer la liste des serveurs et pourtant la combo est vide. Je suis sou SQL 2005 Express.
Pour info avec un point d'arrêt j'ai :
oNameList = System.__com ???
et si je déroule, "Children could nit be evaluated"

As-tu une idée pour que je puisse lister ses serveurs ? Merci d'avance.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 113 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Le newbie
Messages postés
200
Date d'inscription
mardi 17 octobre 2006
Dernière intervention
24 mars 2012
2
0
Merci
Salut pneau. Est ce aussi possible avec Oracle 10 ou 11g ?

Merci d'avance.
Commenter la réponse de Le newbie
Messages postés
258
Date d'inscription
mercredi 21 avril 2004
Dernière intervention
27 octobre 2010
3
0
Merci
salut NewBie...
désolé mais je ne connais pas les API mises à dispo pour Oracle... Il vaut mieux directement se renseigner sur les forums Oracle...
@+

Pat

 Don't Worry , Be Happy

<hr />lorsque le problème est résolu, pensez Réponse Acceptée
Commenter la réponse de pneau
Messages postés
200
Date d'inscription
mardi 17 octobre 2006
Dernière intervention
24 mars 2012
2
0
Merci
Merci pneau de ta réponse rapide.

A bientôt.
Commenter la réponse de Le newbie
Messages postés
258
Date d'inscription
mercredi 21 avril 2004
Dernière intervention
27 octobre 2010
3
0
Merci
re..

ci dessous ton code en vb6 (qui marche chez moi ), j'ai des instances SQL 2000 et SQL Serveur...

 Dim oNameList As SQLDMO.NameList
       Dim i As Integer


         Set oNameList = SQLDMO.ListAvailableSQLServers
        For i = 0 To oNameList.Count - 1
            Combo1.AddItem (oNameList.Item(i))
        Next i


      Set oNameList = Nothing

Je vérifie en VB.Net

Pat

 Don't Worry , Be Happy





<hr />
lorsque le problème est résolu, pensez Réponse Acceptée
Commenter la réponse de pneau
Messages postés
258
Date d'inscription
mercredi 21 avril 2004
Dernière intervention
27 octobre 2010
3
0
Merci
en VB2005, commence la boucle à 1

Dim oApp
As SQLDMO.Application

Dim oNameList
As SQLDMO.NameList

Dim i
AsIntegeroApp New SQLDMO.ApplicationoNameList oApp.ListAvailableSQLServers()

For i = 1
To
oNameList.CountCombo1.Items.Add(oNameList.Item(i))

Next ioNameList =

NothingTCHÔ

Pat

 Don't Worry , Be Happy

<hr />lorsque le problème est résolu, pensez Réponse Acceptée
Commenter la réponse de pneau
Messages postés
200
Date d'inscription
mardi 17 octobre 2006
Dernière intervention
24 mars 2012
2
0
Merci
Merci pneau,

même si je la met à 1, la liste est vide avec ceci
oNameList = System.__com ???
"Children could nit be evaluated"

Est ce que cela viendrais de SQL 2005 express ?
Commenter la réponse de Le newbie
Messages postés
258
Date d'inscription
mercredi 21 avril 2004
Dernière intervention
27 octobre 2010
3
0
Merci
bizarre car chez moi, j'ai des instances sql 2000 et sql 2005 express et tout est listé....
les faits que les enfants ne puissent pas etre évalué, c'est normal car la dll sql dmo n'est pas un objet .net.
par contre tu peux aussi utiliser le framework fourni avec sql 2005 (SQL Server Management Objects (SMO)
tu peux te rapprocher de la page suivante pour avoir plus d'info sur SMO

http://technet.microsoft.com/en-us/library/ms162202.aspx

ci dessous le code avec l'objet SMO

Dim dtServers
As
New DataTable()

Dim sqlservername
As
String

Dim i
As
LongdtServers = Microsoft.SqlServer.Management.Smo.SmoApplication.EnumAvailableSqlServers(

False)

For i = 0
To dtServers.Rows.Count - 1sqlservername = dtServers.Rows(i).Item(0).ToString

ComboBox1.Items.Add(sqlservername)

Next

Pat

 Don't Worry , Be Happy

<hr />lorsque le problème est résolu, pensez Réponse Acceptée
Commenter la réponse de pneau
Messages postés
200
Date d'inscription
mardi 17 octobre 2006
Dernière intervention
24 mars 2012
2
0
Merci
Merci pour tout pneau je vais potasser encore la première solution pour essayer de comprendre et reprndre SMO que je connais un peu plus. Toutefois, je t'avoue que j'ignorais qu'on pouvais lister les serveur avec.

A bientôt.
Commenter la réponse de Le newbie
Messages postés
26
Date d'inscription
samedi 5 janvier 2002
Dernière intervention
29 mai 2009
0
Merci
Merci à tout le monde pour les réponses et voici le code qui fonctionne chez Moi (il faut commencer par 1) (SQL Server 2000

Dim oApp As SQLDMO.Application
Dim oNameList As SQLDMO.NameList
Dim i As Integer


Set oApp = New SQLDMO.Application


Set oNameList = oApp.ListAvailableSQLServers
Serveur.Clear
For i = 1 To oNameList.Count
  Serveur.AddItem (oNameList.Item(i)), i - 1
Next i


Set oApp = Nothing
Commenter la réponse de cs_univers
Messages postés
16
Date d'inscription
vendredi 4 juillet 2008
Dernière intervention
11 août 2008
0
Merci
bonjour,

existe-t-il quelque chose d'équivalent mais pour SYBASE?

Merci
Commenter la réponse de saintnaej

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.