Veröffentlicht 17. April 200817 j Schönen guten Tag, Ich arbeite mit C#.Net aus dem Visual Studio 2005. Ich möchte in meinem Programm dem Benutzer ermöglich eine ODBC-Datenquelle beispielsweise per Listbox auswählen zu können. Nur weis ich jetzt garnicht wie ich da ran gehen soll, irgendwie fehlt mir der Ansatzpunkt. Hat vieleicht jemand eine Idee? Achso es geht übrigens um die ODBC-Datenquellen die man in der Windows Verwaltung anlegen kann.
17. April 200817 j Bau doch einfach den ConnectionString mit der angegebenen/ausgewählten Datenquelle auf.
17. April 200817 j ich glaube dem OP gehts hier nicht um die verbindung einer bestimmten DSN, sondern dem auflisten alle user-DSNs du kannst diese aus HKEY_CURRENT_USER\Software\ODBC auslesen. s'Amstel
17. April 200817 j So nach langem googlen hab ich irgendwie nichts gefunden. Könntet Ihr mir vieleicht sagen wie ich aus der Regestry lesen kann. Oder vieleicht habt ihr auch nen guten Link, würde mir auch reichen.
17. April 200817 j RegistryKey regKey = Registry.CurrentUser.OpenSubKey( @"Software\\ODBC\\ODBC Data Sources"); if (regKey != null) { [INDENT]//Hier einfach alle DSN mit regKey.GetValue(string name) auslesen.[/INDENT] } regKey.Close(); Editerle: GetValueNames(): Ruft die Namen aller Werte des angegebenen Unterschlüssels ab. Editerle²: Galileo Computing :: Visual C# 2005 – 15.11 Das Speichern in der Registrierungsdatenbank first google Hit.
17. April 200817 j Vieleicht darf ich noch kurz das Ergebniss Präsentieren: private void Form1_Load(object sender, EventArgs e) { RegistryKey Key = Registry.LocalMachine.OpenSubKey("SOFTWARE\\ODBC\\ODBC.INI\\ODBC Data Sources"); int z; for (z = 0; z < Key.GetValueNames().Length; z++) { comboBox1.Items.Add(Key.GetValueNames().GetValue(z).ToString()); } } Das gibt mir jetzt in einer ComboBox alle ODBC-Datenquellen wieder die man auch Unter [start] - [systemsteuerung] - [Verwaltung] - [Datenquellen (ODBC)] - [system-DNS] findet. Vielen Dank für eure Hilfe.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.