SQLConfigDataSource-Funktion

Konformität
Eingeführte Version: ODBC 1.0

Zusammenfassung
SQLConfigDataSource fügt Datenquellen hinzu, ändert oder löscht sie.

Auf die Funktionalität von SQLConfigDataSource kann auch mit ODBCCONF.EXEzugegriffen werden.

Syntax

  
BOOL SQLConfigDataSource(  
     HWND     hwndParent,  
     WORD     fRequest,  
     LPCSTR   lpszDriver,  
     LPCSTR   lpszAttributes);  

Argumente

hwndParent
[Eingabe] Handle des übergeordneten Fensters. Die Funktion zeigt keine Dialogfelder an, wenn das Handle NULL ist.

fRequest
[Eingabe] Typ der Anforderung. Das Argument fRequest muss einen der folgenden Werte enthalten:

ODBC_ADD_DSN: Fügen Sie eine neue Benutzerdatenquelle hinzu.

ODBC_CONFIG_DSN: Konfigurieren (Ändern) einer vorhandenen Benutzerdatenquelle.

ODBC_REMOVE_DSN: Entfernen Sie eine vorhandene Benutzerdatenquelle.

ODBC_ADD_SYS_DSN: Fügen Sie eine neue Systemdatenquelle hinzu.

ODBC_CONFIG_SYS_DSN: Ändern sie eine vorhandene Systemdatenquelle.

ODBC_REMOVE_SYS_DSN: Entfernen Sie eine vorhandene Systemdatenquelle.

ODBC_REMOVE_DEFAULT_DSN: Entfernen Sie den Standardabschnitt für die Datenquellenspezifikation aus den Systeminformationen. (Außerdem wird der Standardtreiberspezifikationsabschnitt aus dem eintrag Odbcinst.ini in den Systeminformationen entfernt. Diese fRequest führt dieselbe Funktion wie die veraltete SQLRemoveDefaultDataSource-Funktion aus.) Wenn diese Option angegeben ist, sollten alle anderen Parameter im Aufruf von SQLConfigDataSource NULLs sein. wenn sie nicht NULL sind, werden sie ignoriert.

lpszDriver
[Eingabe] Treiberbeschreibung (in der Regel der Name des zugeordneten DBMS), der Benutzern anstelle des physischen Treibernamens angezeigt wird.

lpszAttributes
[Eingabe] Eine doppelt mit NULL endende Liste von Attributen in Form von Schlüsselwort-Wert-Paaren. Weitere Informationen finden Sie unter ConfigDSN.

Gibt zurück

Die Funktion gibt TRUE zurück, wenn sie erfolgreich ist, FALSE, wenn sie fehlschlägt. Wenn beim Aufrufen dieser Funktion kein Eintrag in den Systeminformationen vorhanden ist, gibt die Funktion FALSE zurück.

Diagnose

Wenn SQLConfigDataSource FALSE zurückgibt, kann ein zugeordneter *pfErrorCode-Wert abgerufen werden, indem SQLInstallerError aufgerufen wird. In der folgenden Tabelle sind die *pfErrorCode-Werte aufgeführt, die von SQLInstallerError zurückgegeben werden können, und erläutert die einzelnen Werte im Kontext dieser Funktion.

*pfErrorCode Fehler BESCHREIBUNG
ODBC_ERROR_GENERAL_ERR Allgemeiner Installationsfehler Es ist ein Fehler aufgetreten, für den kein spezifischer Installationsfehler aufgetreten ist.
ODBC_ERROR_INVALID_HWND Ungültiges Fensterhandle Das Argument hwndParent war ungültig oder NULL.
ODBC_ERROR_INVALID_REQUEST_TYPE Ungültiger Anforderungstyp Das fRequest-Argument war nicht eines der folgenden:

ODBC_ADD_DSN ODBC_CONFIG_DSN ODBC_REMOVE_DSN ODBC_ADD_SYS_DSN ODBC_CONFIG_SYS_DSN ODBC_REMOVE_SYS_DSN ODBC_REMOVE_DEFAULT_DSN
ODBC_ERROR_INVALID_NAME Ungültiger Treiber- oder Übersetzername Das lpszDriver-Argument war ungültig. Sie konnte in der Registrierung nicht gefunden werden.
ODBC_ERROR_INVALID_KEYWORD_VALUE Ungültige Schlüsselwort-Wert-Paare Das lpszAttributes-Argument enthielt einen Syntaxfehler.
ODBC_ERROR_REQUEST_FAILED Fehler bei der Anforderung Das Installationsprogramm konnte den vom fRequest-Argument angeforderten Vorgang nicht ausführen. Fehler beim Aufruf von ConfigDSN .
ODBC_ERROR_LOAD_LIBRARY_FAILED Die Setupbibliothek für Treiber oder Übersetzer konnte nicht geladen werden. Die Setupbibliothek des Treibers konnte nicht geladen werden.
ODBC_ERROR_OUT_OF_MEM Nicht genügend Arbeitsspeicher. Das Installationsprogramm konnte die Funktion aufgrund eines Mangels an Arbeitsspeicher nicht ausführen.

Kommentare

SQLConfigDataSource verwendet den Wert von lpszDriver , um den vollständigen Pfad der Setup-DLL für den Treiber aus den Systeminformationen zu lesen. Es lädt die DLL und ruft ConfigDSN mit denselben Argumenten auf, die an sie übergeben wurden.

SQLConfigDataSource gibt FALSE zurück, wenn die Setup-DLL nicht gefunden oder geladen werden kann oder wenn der Benutzer das Dialogfeld abbricht. Andernfalls wird der Status zurückgegeben, den sie von ConfigDSN erhalten hat.

SQLConfigDataSource ordnet die System DSN fRequestsden Benutzer-DSN fRequests zu (ODBC_ADD_SYS_DSN zu ODBC_ADD_DSN, ODBC_CONFIG_SYS_DSN zu ODBC_CONFIG_DSN und ODBC_REMOVE_SYS_DSN zu ODBC_REMOVE_DSN). Um Benutzer- und System-DSNs zu unterscheiden, legt SQLConfigDataSource den Installationskonfigurationsmodus gemäß der folgenden Tabelle fest. Vor der Rückgabe setzt SQLConfigDataSource den Konfigurationsmodus auf BOTHDSN zurück. ConfigDSN (von Treibern implementiert) sollte SQLWriteDSNToIni und SQLWritePrivateProfileString aufrufen, um einen System-DSN zu unterstützen. Weitere Informationen finden Sie unter ConfigDSN-Funktion.

fRequest Konfigurationsmodus
ODBC_ADD_DSN USERDSN_ONLY
ODBC_CONFIG_DSN USERDSN_ONLY
ODBC_REMOVE_DSN USERDSN_ONLY
ODBC_ADD_SYS_DSN SYSTEMDSN_ONLY
ODBC_CONFIG_SYS_DSN SYSTEMDSN_ONLY
ODBC_REMOVE_SYS_DSN SYSTEMDSN_ONLY
Informationen über Finden Sie unter
Hinzufügen, Ändern oder Entfernen einer Datenquelle ConfigDSN (in der Setup-DLL)
Entfernen eines Datenquellennamens aus den Systeminformationen SQLRemoveDSNFromIni
Hinzufügen eines Datenquellennamens zu den Systeminformationen SQLWriteDSNToIni