Liste des drivers odbc et dsn associes (maj)

Soyez le premier à donner votre avis sur cette source.

Vue 12 312 fois - Téléchargée 1 064 fois

Description

Cette source afin de répondre à une demande dans le forum.
Celle-ci n'a pour but que de lister les drivers ODBC installés sur une machine ainsi que les DSN user et system associés. Donc inutile de me demander à quoi ça sert ;O) Ce n'est qu'un exercice de style.

Pour ce faire, on liste (dans une collection) le contenu de la clé de registre HKEY_LOCAL_MACHINE\Software\odbc\odbcinst.ini pour récupérer toutes les entrées.

Au menu, quelques API's de la bibliothèque advapi32.dll afin de manipuler la base des registres:
- RegCloseKey
- RegEnumKeyEx
- RegEnumValue
- RegOpenKey
- RegQueryValueEx

Le projet liste la version du driver, le fichier DLL concerné, la date de la DLL ainsi que le chemin complet où elle se trouve. Une classe « clsFileInfo » permet de récupérer ces informations. Normalement, elle peut être réutilisée telle quelle dans un autre projet. Les API's GetFileVersionInfo, GetFileVersionInfoSize et VerQueryValue de la bibliothèque Version.dll ont été utilisées.

Pour lister les DSN user et system, les API's suivantes de la bibliothèque ODBC32.DLL on été utilisées:
- SQLDataSources
- SQLAllocHandle
- SQLSetEnvAttr
- SQLFreeHandle

Aussi, vous pourrez trouver dans la source comment indenter les items d'un listview ainsi que trier une collection.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Neo.balastik
Messages postés
797
Date d'inscription
jeudi 17 mai 2001
Statut
Membre
Dernière intervention
5 mai 2009
3 -
BruNews > en effet ! Mais de toute façon je ne vois pas l'intérêt de ce que mldzogoum parlait.
Que vient faire ce gros lourdeau d'Access ici ?
mldzogoum
Messages postés
2
Date d'inscription
samedi 6 août 2005
Statut
Membre
Dernière intervention
12 août 2005
-
Je voudrais ajouter un source mais je ne sais pas comment faire ?
BruNews
Messages postés
21054
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
7 novembre 2014
13 -
en haut de page sous 'Information sur votre compte'
il y a un lien pour déposer une source, clic et tu suis bien ce qui est inscrit.
Manugeo
Messages postés
1
Date d'inscription
mardi 17 juillet 2007
Statut
Membre
Dernière intervention
27 janvier 2010
-
Excellent !
Grâce à ce code que j'ai simplifié (pas besoin de toutes les fonctions), j'ouvre des connexions de façon transparente, sans devoir créer mes DSN au préalable, et sans risquer le plantage si un driver ODBC a changé de version.
Beaucoup plus de sureté dans mes installs.

Merci.
VBsearch
Messages postés
50
Date d'inscription
jeudi 21 juillet 2005
Statut
Membre
Dernière intervention
22 août 2009
-
Si, dans la classe "clsFileInfo", on ajoute "Option Explicit" on a 4 beaux messages: Variable non définie.
Les variables en question sont avec leurs valeurs correctes :
1 - Const VFT_FONT_RASTER = &H1
2 - Const VFT_FONT_VECTOR = &H2
3 - Const VFT_FONT_TRUETYPE = &H3
et dans la structure
Select case udtVerBuffer.dwFileOS
............
............
Case Other : Il faut mettre Case Else
La raison est toute simple : Le code a été copié depuis ApiGuide en supprimant la clause "Option Explicit" pour ne pas avoir d'embêtement avec des variables non définies et en supprimant ce qui se rapporte à l'auteur légitime du code. En voici un extrait :
Private Sub Form_Load()
'KPD-Team 2000
'URL: http://www.allapi.net/
'E-Mail: KPDTeam@Allapi.net
'Source -> MS Knowledge Base
'set the file
Filename = "kernel32.dll"
Directory = "c:\windows\system"
FullFileName = Directory + Filename
'set graphics mode to persistent
Me.AutoRedraw = True
'retrieve the information
DisplayVerInfo
'show the results
Me.Print "Full filename: " + FullFileName
Me.Print "File version: " + FileVer
Me.Print "Product version: " + ProdVer
Me.Print "File flags: " + FileFlags
Me.Print "File OS: " + FileOS
Me.Print "File type: " + FileType + IIf(FileSubType = "", "", " (" + FileSubType + ")")
End Sub
Certes, il y a eu un effort pour code cette classe mais cela n'empêche pas de signaler le nom de l'auteur ou l'équipe qui l'a codé.
Commenter la réponse de sarl_adc

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.