SQL Serveur 2005 & VB6

nicoine Messages postés 51 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 23 février 2012 - 15 janv. 2008 à 18:09
nicoine Messages postés 51 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 23 février 2012 - 16 janv. 2008 à 14:21
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

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
15 janv. 2008 à 20:23
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
0
nicoine Messages postés 51 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 23 février 2012
16 janv. 2008 à 08:17
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
0
nicoine Messages postés 51 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 23 février 2012
16 janv. 2008 à 08:19
Pour la question 2 c'est les instances de SQL Server que je veux récupérer et non les tables.

Nico
0
pneau Messages postés 258 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 27 octobre 2010 5
16 janv. 2008 à 09:19
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nicoine Messages postés 51 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 23 février 2012
16 janv. 2008 à 10:30
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
0
pneau Messages postés 258 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 27 octobre 2010 5
16 janv. 2008 à 10:45
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
0
nicoine Messages postés 51 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 23 février 2012
16 janv. 2008 à 11:05
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
0
pneau Messages postés 258 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 27 octobre 2010 5
16 janv. 2008 à 11:07
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
0
pneau Messages postés 258 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 27 octobre 2010 5
16 janv. 2008 à 11:08
oups, désolé pour le dernier post, j'ai eu un pb de connexion....
0
pneau Messages postés 258 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 27 octobre 2010 5
16 janv. 2008 à 11:10
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
0
nicoine Messages postés 51 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 23 février 2012
16 janv. 2008 à 11:24
Non, comment je fais pour accéder à SMO? Il ma faut la dll?

Nico
0
pneau Messages postés 258 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 27 octobre 2010 5
16 janv. 2008 à 12:00
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
0
nicoine Messages postés 51 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 23 février 2012
16 janv. 2008 à 14:21
Je me suis pas mis au vb.net encore. Merci quand même pour ces infos.

Nico
0