Liste des Serveurs SQL Server 2000 [Résolu]

Signaler
Messages postés
26
Date d'inscription
samedi 5 janvier 2002
Statut
Membre
Dernière intervention
29 mai 2009
-
Messages postés
14
Date d'inscription
vendredi 4 juillet 2008
Statut
Membre
Dernière intervention
11 août 2008
-
Salut à tous,

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

Merci de vos réponses.

12 réponses

Messages postés
258
Date d'inscription
mercredi 21 avril 2004
Statut
Membre
Dernière intervention
27 octobre 2010
4
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
Messages postés
200
Date d'inscription
mardi 17 octobre 2006
Statut
Membre
Dernière intervention
24 mars 2012
2
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.
Messages postés
200
Date d'inscription
mardi 17 octobre 2006
Statut
Membre
Dernière intervention
24 mars 2012
2
Salut pneau. Est ce aussi possible avec Oracle 10 ou 11g ?

Merci d'avance.
Messages postés
258
Date d'inscription
mercredi 21 avril 2004
Statut
Membre
Dernière intervention
27 octobre 2010
4
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
Messages postés
200
Date d'inscription
mardi 17 octobre 2006
Statut
Membre
Dernière intervention
24 mars 2012
2
Merci pneau de ta réponse rapide.

A bientôt.
Messages postés
258
Date d'inscription
mercredi 21 avril 2004
Statut
Membre
Dernière intervention
27 octobre 2010
4
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
Messages postés
258
Date d'inscription
mercredi 21 avril 2004
Statut
Membre
Dernière intervention
27 octobre 2010
4
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
Messages postés
200
Date d'inscription
mardi 17 octobre 2006
Statut
Membre
Dernière intervention
24 mars 2012
2
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 ?
Messages postés
258
Date d'inscription
mercredi 21 avril 2004
Statut
Membre
Dernière intervention
27 octobre 2010
4
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
Messages postés
200
Date d'inscription
mardi 17 octobre 2006
Statut
Membre
Dernière intervention
24 mars 2012
2
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.
Messages postés
26
Date d'inscription
samedi 5 janvier 2002
Statut
Membre
Dernière intervention
29 mai 2009

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
Messages postés
14
Date d'inscription
vendredi 4 juillet 2008
Statut
Membre
Dernière intervention
11 août 2008

bonjour,

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

Merci