OdbcDataSources
obj -> OdbcDataSources([int1]) : handle
Datenquellen lesen
Details
- obj: Deskriptor des OdbcApi-Objekts
- int1:
- Optionen (optional):
_OdbcDataSourcesSystem_OdbcDataSourcesUser_OdbcDataSourcesTree_OdbcDataSourcesTreeCI
- Resultat:
handleDeskriptor auf ein Cte-Objekt - Siehe: Verwandte Befehle , Dynamische Strukturen
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.
_OdbcDataSourcesSystemEs werden nur die System-Datenquellen zurückgegeben. Die Option kann mit_OdbcDataSourcesUserkombiniert werden, um alle Datenquellen zu ermitteln._OdbcDataSourcesUserEs werden nur die Benutzer-Datenquellen zurückgegeben. Die Option kann mit_OdbcDataSourcesSystemkombiniert werden, um alle Datenquellen zu ermitteln._OdbcDataSourcesTreeAnstelle einer Liste wird eine sortierte Liste zurückgegeben. Die Option ist nicht mit_OdbcDataSourcesTreeCIkombinierbar._OdbcDataSourcesTreeCIAnstelle einer Liste wird eine sortierte Liste ohne Berücksichtigung der Groß-/Kleinschreibung zurückgegeben. Die Option ist nicht mit_OdbcDataSourcesTreekombinierbar.
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.
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:
_ErrHdlInvalid: Im (obj) wurde kein gültiger Deskriptor auf ein OdbcApi -Objekt übergeben.