Entwickler-Ecke
Datenbanken - ODBC-Treiber auslesen
majolo - Fr 24.01.03 14:27
Titel: ODBC-Treiber auslesen
Hi Leute,
wie kann ich alle auf dem Computer installierten ODBC Treiber auslesen und in eine ListBox oder ComboBox hinzufügen. das Verfahren ist ja eh gleich. Habe leider in der Hilfe nichts gefunden. Wundert mich eigentlich,dass dieses noch niemanden interessiert hat.
Danke.
Gruss
majolo
smiegel - Fr 24.01.03 14:33
Hallo,
Zitat: |
dass dieses noch niemanden interessiert hat
|
warum auch? Den Treiber, den ich benötige kenne ich. Ich weiss auch nicht was mir das bringen soll, weil, mit einem Access-ODBC kann ich nicht auf eine DB2-Datenbank zugreifen.
neojones - Fr 24.01.03 14:47
@smiegel:
Tja, aber man könnte so was ja eventuell für ein Datenbank-Admin-Tool brauchen ... Nur weil Du es noch nie gebraucht hast, heißt das ja noch nicht, dass es keinen interessiert. Ich selbst hatte im alten Delphi-Forum dieselbe Frage gestellt...
@majolo:
Die ODBC-Sockets stehen alle in der Registry. Ich weiß nur nicht genau, wo, aber irgendwo unter HKEY_LOCAL_MACHINE. Such am Besten einfach mal im regedit nach einem Socket-Namen.
Viele Grüße,
Matthias
majolo - Fr 24.01.03 20:12
@NeoJones: Vielen Dank, da werde ich mal suchen.
@smiegel: Ich kenne den Treiber auch. Jedoch soll der User den TREIBER für seine DB aussuchen können. :wink:
Naja, vielleicht weiß einer den Registryeintrag oder noch eine andere lösung.
Gruss
majolo
majolo - Fr 24.01.03 23:16
Habe meine Registry von oben bis unten durchforstet.kann leider den Eintrag nicht finden. Weiß einer die Registrydatei und gibt es noch eine andere Lösung??
Gruss
majolo
Simon Joker - Mo 27.01.03 12:10
Schau hier:
-installierte Treiber
HLM/Software/ODBC/ODBCINST.INI/ODBCDRIVER
-Treibereinstellungen
HLM/Software/ODBC/ODBCINST.INI/<Treibername>
-Eingerichtete Verbindungen
HLM/Software/ODBC/ODBC.INI/<Verbindungsname>
GuGl - Mo 27.01.03 15:04
Hi, ich habe das mal gebraucht:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46:
| procedure TForm1.GetDataSourceNames(System: Boolean); var reg: TRegistry; begin reg := TRegistry.Create; try if System then reg.RootKey := HKEY_LOCAL_MACHINE else reg.RootKey := HKEY_CURRENT_USER;
if reg.OpenKey('\Software\ODBC\ODBC.INI\ODBC Data Sources', False) then begin if system then reg.GetValueNames(liste1) else reg.GetValueNames(liste2); end;
finally reg.CloseKey; FreeAndNil(reg); end; end;
procedure TForm1.Button1Click(Sender: TObject); var i : integer; begin liste1 := TStringlist.create; liste1.clear; liste2 := TStringlist.create; liste2.clear; //System DSNs in liste1 ListBox1.Items.Clear; ListBox1.Items.Add('SYSTEM DSN :'); ListBox1.Items.Add(' '); GetDataSourceNames(true); for i := 0 to liste1.count - 1 do listbox1.items.Add(liste1[i]); //User DSNs in liste2 ListBox1.Items.Add(' '); ListBox1.Items.Add('USER DSN :'); ListBox1.Items.Add(' '); GetDataSourceNames(false); for i := 0 to liste2.count - 1 do listbox1.items.Add(liste2[i]); liste1.free; liste2.free; end; |
Hoffe das hilft weiter
majolo - Mo 27.01.03 20:03
danke, das sieht schon präziser aus. Werde es gleich mal ausprobieren.
Gruss
majolo
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!