SQL Serveur 2005 & VB6

Signaler
Messages postés
51
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
23 février 2012
-
Messages postés
51
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
23 février 2012
-
Salut à tous,

Mon appli utilise selon les postes MSDE ou SQL Server 2005.
J'aimerais connaitre au démarrage de cette appli le type de SQL Server installé, j'aimerais égalment savoir si une instance précise à été installé.
Si quelqu'un connait les fonctions permettant d'obtenir ces informations se serait cool pour moi.

Merci d'avance

Nico

13 réponses

Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
28
Salut

Question 1
SELECT SERVERPROPERTY('productversion'), SERVERPROPERTY ('productlevel'), SERVERPROPERTY ('edition')

Question 2
select * from sys.databases pour 2005
et les table de master pour 2000

voila
Messages postés
51
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
23 février 2012

Oui mais avant de pouvoir faire des requetes SQL il faut que je le connect à un de ces serveurs,
et moi j'aimerais connaître la version du serveur installer avant de m'y connecter.

Nico
Messages postés
51
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
23 février 2012

Pour la question 2 c'est les instances de SQL Server que je veux récupérer et non les tables.

Nico
Messages postés
258
Date d'inscription
mercredi 21 avril 2004
Statut
Membre
Dernière intervention
27 octobre 2010
4
salut,
pour la question 2, interresses toi à SQL DMO.
ci dessous le code pour énumérer les instances SQL Server du réseau
Public sListserver As SQLDMO.NameList  'Liste des serveurs SQL présent et visible sur le réseau
Set sListserver = SQLDMO.ListAvailableSQLServers
For i = 1 To sListserver.Count
   CmbListeServer.AddItem sListserver.Item(i)
Next i

ensuite, pour connaitre la version du moteur tu n'as pas le choix, tu dois te connecter pour obtenir la version...
la requete "ServerProperty" de nhervagault est celle que tu peux utiliser...

@+

Pat

 Don't Worry , Be Happy

<hr />lorsque le problème est résolu, pensez Réponse Acceptée
Messages postés
51
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
23 février 2012

En effet SQL DMO permet d'énumérer les postes du réseau sur lesquels sont installé des serveur SQL (mais seulement pour MSDE, SQL Server 2005 n'est pas reconnu avec SQL DMO).
Sur un même poste il peut y avoir plusieurs 'Instances' de SQL Server 2005 d'installée, sur chaque instances on à des base différentes, c'est ça que je veux récupérer les instances installé sur le poste ou si une instance en particulier est présente.

Nico
Messages postés
258
Date d'inscription
mercredi 21 avril 2004
Statut
Membre
Dernière intervention
27 octobre 2010
4
Désolé de te contredire, mais sql dmo liste bien TOUTES les instances SQL Server
y compris SQL 7, SQL 2000, MSDE, SQL 2005.
personnellement j'ai 2 instances SQL sur mon poste, une en MSDE et une en SQL 2005 express, les 2 sont listées avec DMO....
@+

Pat

Don't Worry , Be Happy


--------------------------------------------------------------------------------
lorsque le problème est résolu, pensez Réponse Acceptée
Messages postés
51
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
23 février 2012

En effet autant pour moi SQL Server 2005 est bien détecté sur un autre poste que le mien, par contre je ne sais pas pourquoi SQL Server 2005 n'est pas reconnu sur mon poste avec cette fonction, bizarre.
Mais du coup çà m'aide pas car je ne peut toujours pas différencier la version installé et la présence ou non d'une instance en particulier.

Nico
Messages postés
258
Date d'inscription
mercredi 21 avril 2004
Statut
Membre
Dernière intervention
27 octobre 2010
4
Désolé de te contredire, mais sql dmo liste bien TOUTES les instances SQL Server
y compris SQL 7, SQL 2000, MSDE, SQL 2005.
personnellement j'ai 2 instances SQL sur mon poste, une en MSDE et une en SQL 2005 express, les 2 sont listées avec DMO....
@+

Pat

Don't Worry , Be Happy


--------------------------------------------------------------------------------
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
oups, désolé pour le dernier post, j'ai eu un pb de connexion....
Messages postés
258
Date d'inscription
mercredi 21 avril 2004
Statut
Membre
Dernière intervention
27 octobre 2010
4
as tu regardé du coté de SMO (la version évoluée de DMO pour 2005) ?

Pat

 Don't Worry , Be Happy

<hr />lorsque le problème est résolu, pensez Réponse Acceptée
Messages postés
51
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
23 février 2012

Non, comment je fais pour accéder à SMO? Il ma faut la dll?

Nico
Messages postés
258
Date d'inscription
mercredi 21 avril 2004
Statut
Membre
Dernière intervention
27 octobre 2010
4
SMO est une assembly dot net, donc, inaccessible dans VB 6 en natif. Par contre, tu peux créer une DLL en vb.net visible dans VB6. cette dll VB.net énumerera les instances SQL et autres infos dont tu as besoin et renverras ces infos à VB 6.

Pat

 Don't Worry , Be Happy

<hr />lorsque le problème est résolu, pensez Réponse Acceptée
Messages postés
51
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
23 février 2012

Je me suis pas mis au vb.net encore. Merci quand même pour ces infos.

Nico