Zum Hauptinhalt springen

OdbcDataSources

Die Anweisung ermittelt die im ODBC-Datenquellen-Administrator eingetragenen Datenquellen. Dazu muss in (obj) der von ``OdbcOpen() zurückgegebene Deskriptor angegeben werden. Werden in (int1) keine weiteren Optionen angegeben, wird ein Deskriptor auf ein CteList-Objekt mit allen Datenquellen zurückgegeben.

  • _OdbcDataSourcesSystem

    Es werden nur die System-Datenquellen zurückgegeben. Die Option kann mit _OdbcDataSourcesUser kombiniert werden, um alle Datenquellen zu ermitteln.

  • _OdbcDataSourcesUser

    Es werden nur die Benutzer-Datenquellen zurückgegeben. Die Option kann mit _OdbcDataSourcesSystem kombiniert werden, um alle Datenquellen zu ermitteln.

  • _OdbcDataSourcesTree

    Anstelle einer Liste wird eine sortierte Liste zurückgegeben. Die Option ist nicht mit _OdbcDataSourcesTreeCI kombinierbar.

  • _OdbcDataSourcesTreeCI

    Anstelle einer Liste wird eine sortierte Liste ohne Berücksichtigung der Groß-/Kleinschreibung zurückgegeben. Die Option ist nicht mit _OdbcDataSourcesTree kombinierbar.

In der zurückgegebenen Liste ist für jede Datenquelle ein CteItem-Objekt vorhanden. In der Eigenschaft Name ist der Name der Datenquelle, in der Eigenschaft Custom die Beschreibung enthalten.

info

Unter 64-Bit-Systemen befindet sich die relevante "Microsoft ODBC Administrator" Anwendung im Verzeichnis Windows\SysWOW64\ unter dem Namen odbcad32.exe.

Steht zur Ausführung der Anweisung nicht genügend Hauptspeicher zur Verfügung, wird der Fehler _ErrOutOfMemory zurückgegeben.

Beispiele:

Ermitteln einer unsortierten Liste aller Datenquellen:

tOdbcApi # OdbcOpen();
tOdbcSourceList # tOdbcApi->OdbcDataSources();
for tOdbcSource # tOdbcSourceList->CteRead(_CteFirst);
loop tOdbcSource # tOdbcSourceList->CteRead(_CteNext, tOdbcSource);
while (tOdbcSource > 0)
{
tSourceName # tOdbcSource->spName;
tSourceRemark # tOdbcSource->spCustom;
...
}
tOdbcApi->OdbcClose();

Ermitteln aller System-Datenquellen nach Namen sortiert (ohne Berücksichtigung der Groß-/Kleinschreibung):

tOdbcApi # OdbcOpen();
tOdbcSourceList # tOdbcApi->OdbcDataSources(_OdbcDataSourcesSystem | _OdbcDataSourcesTreeCI);
for tOdbcSource # tOdbcSourceList->CteRead(_CteFirst);
loop tOdbcSource # tOdbcSourceList->CteRead(_CteNext, tOdbcSource);
while (tOdbcSource > 0)
{
tSourceName # tOdbcSource->spName;
tSourceRemark # tOdbcSource->spCustom;
...
}
tOdbcApi->OdbcClose();

Mögliche Laufzeitfehler: