ODBC allgemein
-
Hallo,
ich hätte zwei Fragen:1. Frage:
In eurer FAQ hab ich gefunden, wie ich ein ODBC Treiber im Code setzen kann:
Mit SQLConfigDataSource(...)
Das muß ich aber nur einmal machen, oder ?
Ich meine beim allerersten Programmstart. Und wenn ich das Programm erneut
starte und SQLConfigDataSource wird erneut ausgeführt, liefert er dann einfach
einen Fehler zurück und gut ist's ?
Oder gibt es eine Möglichkeit, vorher zu überprüfen, ob ein
entsprechender ODBC Treiber schon eingerichtet ist ?
Konkret: Wie handhabt man das so allgemein ?2. Frage:
Ich hab auch ein bißchen was über DAO gehört. Kann mir jemand erklähren,
wo genau der Unterschied zu ODBC ist ? Was ist denn besser ?Vielen dank für eure Mühe
-
F1:
Jedesmal wenn du SQLCONF... aufrufst wird ein Eintrag erstellt oder aktualisiert. Also kannst du es bei jedem start des Programmes aufrufen.
-
Aha, danke !
Es wird aber dennnoch kein vorübergehender ODBC Eintrag erzeugt, sondern der bleibt auch nach dem Beenden der Software bestehen, oder ?
Beim Erneuten Aufruf wird dann der alte Eintrag einfach durch den selben ersetzt. Ist das richtig ?
-
Vorrübergehend gibts nicht.
Schau dir in der MSDN die Paremter an. Man kann bei Programmende die DSN auch löschen. Isr aber nicht nötwendig. Im Grunde glaube ich das die API-Funktion immer einen Eintrag erstellt (Überschreibt). Der Bezug liegt hier auf den NAMEN der DSN. Solltest du einen anderen Namen verwenden dann gibt einen neune Eintrag. Eh Logisch.
Wenn du es sauber machen willst dann lösche ihn bei Programmende.[ Dieser Beitrag wurde am 18.11.2002 um 15:21 Uhr von Unix-Tom editiert. ]
-
Ok dank dir !
Fall du noch gerade ne Sekunde Zeit hast und zufällig die Funktion weißt, mit dem man einen Eintrag löschen kann, dann währe ich dir dankbar, wenn du mir den noch posten könntest. Ich hab nämlich in der MSDN kein Gegenstück gefunden.
Danke
-
Ach ja ...
was heißt eigentlich DSN ?
-
Datasourcename
-
OK ! Weißt du noch schnell die Funktion zum Löschen einer DSN ?
-
Schon gut ... es ist
SQLRemoveDSNFromIni()Danke und tschö
-
Ne, war falsch
geht auch mit SQLConfigDataSource
BOOL SQLConfigDataSource(
HWND hwndParent,
WORD fRequest,
LPCSTR lpszDriver,
LPCSTR lpszAttributes);fRequest:
ODBC_REMOVE_DSN: Remove an existing user data source.
-
Nein ist es nicht
SQLConfigDataSource(NULL,ODBC_REMOVE_SYS_DSN,