Liste des Sources de Données ODBC en C#
Je suis à la recherche de manière abstraite pour obtenir une liste de sources de données ODBC à partir du système en C#. J'ai essayé de les "Piquer-autour-de-la-registre" astuce que j'ai trouvé fonctionne très bien en anglais:
RegistryKey reg = (Registry.CurrentUser).OpenSubKey("Software");
reg = reg.OpenSubKey("ODBC");
reg = reg.OpenSubKey("ODBC.INI");
reg = reg.OpenSubKey("ODBC Data Sources");
and then, of course, iterating over reg.GetValueNames()
Seul problème, c'est que j'ai découvert sur au moins un espagnol machine que leurs clés de Registre sont, ainsi, en espagnol, donc clairement la violation de cette abstraction (si elle existe) a déjà réussi à me faire des ennuis.
Est-il une fonction de la bibliothèque pour ce faire?
OriginalL'auteur | 2009-02-18
Vous devez vous connecter pour publier un commentaire.
On pourrait appeler la SQLDataSources fonction dans ODBC32.DLL:
Exemple qui répertorie les Sources de Données:
Le premier appel à SQLDataSources avec
SQL_FETCH_FIRST_SYSTEM
raconte la fonction pour commencer la liste avec le Système Dsn. Si vous avez tout simplement commencé avecSQL_FETCH_NEXT
il faudrait d'abord la liste des pilotes. Lien vers la fonction ref sur le site de MicrosoftEdit:
Tout le monde semble le savoir, mais je viens de découvrir hier, quand j'ai utilisé ce code dans un nouveau poject: si vous êtes à la compilation de ce avec VS sur une version 64 Bits de Windows, vous devez définir la "Plate-forme Cible" à "x86" ou le code ne s'exécute pas.
Keller pouvez vous s'il vous plaît m'aider avec sqlgetinfo fonction en c#
Désolé, je n'ai jamais nécessaires à l'utilisation de SQLGetInfo je n'ai donc pas mise en œuvre.
OriginalL'auteur Stephan Keller
J'utilise le code suivant pour récupérer la Dsn à partir de la base de registre :
Il est étrange que vous avez les non-anglais nom de la "Sources de Données ODBC" clé... j'ai une version française de Windows, et le nom est encore en anglais
OriginalL'auteur Thomas Levesque
Je ne pense pas qu'il n'y a rien .NET, et un contrôle rapide de l' (natif) de l'API ODBC montre certaines fonctions qui pourraient être utiles:
Étant donné la manière dont les tampons sont utilisés dans l'API ODBC, attention à l'épinglage des tableaux de caractères seront nécessaires.
OriginalL'auteur Richard
Si vous utilisez une Application Windows Forms (pas un environnement Web), vous pouvez utiliser Visual Studio "Choisir la Source de Données la boîte de dialogue".
Il est inclus dans un ensemble, et peut facilement être utilisé.
L'article où j'ai trouvé cette info:
http://www.mztools.com/articles/2007/MZ2007011.aspx
En tout cas, je suis de l'Espagne et j'ai aussi utiliser le Registre de la solution (spécialement dans les applications Web). Je n'ai jamais trouvé une machine avec ces inscriptions dans une langue différente de l'anglais.
Espero ser de ayuda...
OriginalL'auteur Juan Calero