AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Code-Bibliothek Library: Datenbanken Delphi ODBC-Entrag zur Laufzeit erzeugen
Thema durchsuchen
Ansicht
Themen-Optionen

ODBC-Entrag zur Laufzeit erzeugen

Ein Thema von Captnemo · begonnen am 27. Aug 2003
Antwort Antwort
Benutzerbild von Captnemo
Captnemo

Registriert seit: 27. Jan 2003
Ort: Bodenwerder
1.126 Beiträge
 
Delphi XE4 Architect
 
#1

ODBC-Entrag zur Laufzeit erzeugen

  Alt 27. Aug 2003, 08:08
Hi Leute,

ich habe sehr lange im Internet danach gesucht, und kann mir vorstellen, dass auch unter euch einige gibt, die Interesse daran haben könnten.
Deswegen möchte ich euch diesen Code zur Verfügung stellen.
Hab ich unter Windows XP und Windows 98 getestet. Ich denke das es auch unter allen anderen Windows-Systemen laufen wird.

AN MOD: Vielleicht war ich ja auch nur zu Blind, und dieser Code ist doch schon jedem geläufig.

Delphi-Quellcode:
const
  ODBC_ADD_DSN = 1; //Add data source
  ODBC_CONFIG_DSN = 2; //Configure (edit) data source
  ODBC_REMOVE_DSN = 3; //Remove data source
  ODBC_ADD_SYS_DSN = 4; //add a system DSN
  ODBC_CONFIG_SYS_DSN = 5; //Configure a system DSN
  ODBC_REMOVE_SYS_DSN = 6; //Remove a system DSN
  ODBC_REMOVE_DEFAULT_DSN = 7; //Remove the default DSN

function SQLConfigDataSource(hwndParent: HWND;
  fRequest: WORD;
  lpszDriver: LPCSTR;
  lpszAttributes: LPCSTR): BOOL; stdcall; external 'ODBCCP32.DLL';

procedure TForm1.Button1Click(Sender: TObject);
begin
  if not SQLConfigDataSource(0,ODBC_ADD_SYS_DSN,
   'MySQL ODBC 3.51 Driver', PChar('DSN=Meine Verbindung'#0'Description=Ein Text'#0'Server=192.168.0.1'#0'Database=TestDB'#0'User=Wortmann'#0'Password=geheim'#0) ) then
    ShowMessage('Fehler');
end;
Parameter von SQLConfigDataSource

1. Windowhandle halt.
2. ODBC... -> Könnt ihr aus den Konstanten entnehmen
3. Der Treibername. Den könnt ihr aus der ODBC-Konfiguration von Windows unter dem Reiter "Treiber" entnehmen. Er muß vollständig so geschieben werden, wie er dort unter Name aufgeführt ist (mit allen Leerzeichen und Klammern, usw). Ist ein Parameter falsch wird er ebenfalls nicht berücksichtigt (Es kommt aber auch kein Fehler, die Funktion meldet trotzdem ein True zurück).
Die Parameter sind von Treiber zu Treiber unterschiedlich. Einfach mal einen Link manuell erstellen, und dann ein bischen probieren bis es klappt. Das Beispiel ist ein MySQL-Treiber.
4. Ein PChar in dem alle Parameter, die notwendig sind um den Link zu erstellen, jeweils durch #0 separiert aufgelistet werden. Nicht vorhandene Parameter werden nicht berücksicht.

Viel Erfolg.

[edit=Matze]Code formatiert. Mfg, Matze[/edit]
Dieter
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt. Die 10. summt dazu die Melodie von Supermario Bros.
MfG Captnemo
  Mit Zitat antworten Zitat
Antwort Antwort

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:33 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz