Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi ODBC-Verknüpfung auslesen (https://www.delphipraxis.net/9847-odbc-verknuepfung-auslesen.html)

Nalincah 6. Okt 2003 12:59


ODBC-Verknüpfung auslesen
 
Ist es irgendwie im "ODBC-Datenquellen-Administrator" (START/Einstellungen/Systemsteuerung/Verwaltung/Datenquellen (ODBC)) unter "System-DSN" die Einträge auszulesen und in Delphi übernehmen???

neolithos 6. Okt 2003 13:13

Re: ODBC-Verknüpfung auslesen
 
Ein ausschnitt aus meiner Komponente
Delphi-Quellcode:
type
  TDSNEnumProc = procedure (asDSN, asDriver : String; apData : Pointer);

procedure TSQLEnviroment.EnumDataSources(afTyp: TDSNTypes; apEnumProc : TDSNEnumProc; apData : Pointer);
const
  ciFirstFetch : array [TDSNTypes] of SQLUSMALLINT =
    (SQL_FETCH_FIRST, SQL_FETCH_FIRST_SYSTEM, SQL_FETCH_FIRST_USER);

var cDSN : array [0..SQL_MAX_DSN_LENGTH] of Char;
    cDriver : array [0..1023] of Char;
    iLenDSN,
    iLenDriver : SQLSMALLINT;
begin
  if SQLCheck(SQLDataSources(hHandle, ciFirstFetch[afTyp],
       @cDSN, SQL_MAX_DSN_LENGTH + 1, iLenDSN,
       @cDriver, 1024, iLenDriver)) <> SQL_NO_DATA then
     repeat
       apEnumProc(cDSN, cDriver, apData); // übergebe
     until SQLCheck(SQLDataSources(hHandle, SQL_FETCH_NEXT,
       @cDSN, SQL_MAX_DSN_LENGTH + 1, iLenDSN,
       @cDriver, 1024, iLenDriver)) = SQL_NO_DATA;
end;
SQLCheck prüft nur ob ein Fehler vorliegt.

Nalincah 6. Okt 2003 13:26

Re: ODBC-Verknüpfung auslesen
 
Sorry, aber ich peil da garnix
Kannst du mir vielleicht erklären, wie ich das damit mache und mir die Procedure ne Listbox füllt

neolithos 6. Okt 2003 13:30

Re: ODBC-Verknüpfung auslesen
 
um eine ListBox zu füllen brauchst du bloß den cDSN-Wert anzufügen. cDriver ist eine Zusatzinfo.

Desweiteren brauchst du die ODBC-Core-Api.

Frag mich nicht wo man die herbekommt. Weiß es nämlich selbst nicht mehr.

Gollum 6. Okt 2003 14:09

Re: ODBC-Verknüpfung auslesen
 
Hallo,

die entsprechenden Einträge sthen in der Registy unter: "HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\"

Alexander 6. Okt 2003 14:45

Re: ODBC-Verknüpfung auslesen
 
Du kannst es auch aus der REgistry auslesen:
http://swissdelphicenter.ch/de/showcode.php?id=1131

Nalincah 6. Okt 2003 16:14

Re: ODBC-Verknüpfung auslesen
 
Danke, klappt!

Um das ganze einfacher zu machen: Wie ist es möglich den Dialog aufzurufen, den man bekommt wenn man doppelt auf die TADOConnection klickt, bzw. dann auf "Aufbauen"???

Alexander 6. Okt 2003 16:24

Re: ODBC-Verknüpfung auslesen
 
Hi ich rate mal, meinst du das hier:
http://www.delphipraxis.net/internal...956&highlight=
:mrgreen:

Nutzt du eigentlich den Code des Links von mir?
Wenn ja, funktioniert irgendwie nicht ganz. er liest irgendwie nur die Benutzer-DNS-Einträge aus.
Ich muss mich damit mal näher beschäftigen...
Alexander


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:41 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz