Datenbank - Auflistung aller ODBCs in einer Combox
-
hab folgendes problemchen:
brauche eine auswahl aller, auf dem jeweiligen rechner installierten, ODBC-Datenquellen-> sprich der user soll in einem dialog, und dort in einer combobox, alle auf seinem system installierten ODBCs sehen und eine auswählen können (quasi wie beim ODBC-Administrator...)!
wär super wenn mir jemand weiterhelfen könnte.
bei der gelegenheit:
ein dreifaches hoch auf die MSDN - selten so eine übersichtliche Hilfe zu Gesicht bekommen...
-
Hallo Penny !
Folgender Programmschnipsel sollte Dein Problem eigentlich lösen:
SQLHENV m_henv; // Environmenthandle für SQL-API // Initialisieren der ODBC-Umgebung zum Auslesen ::SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &m_henv); ::SQLSetEnvAttr(m_henv, SQL_ATTR_ODBC_VERSION, (SQLPOINTER) SQL_OV_ODBC3, SQL_IS_INTEGER); ::SQLAllocEnv(&m_henv); // Auslesen der ODBC-Quellen und Anzeigen in ComboBox UCHAR NameDSN[SQL_MAX_DSN_LENGTH + 1]; UCHAR InfoDSN[512]; SWORD InfoLen, DSNLen; // Ein Element aus der ODBC-Quellenliste auslesen while (::SQLDataSources(m_henv, SQL_FETCH_NEXT, NameDSN, sizeof(NameDSN), &DSNLen, InfoDSN, sizeof(InfoDSN), &InfoLen) != SQL_NO_DATA_FOUND) { // Einfügen des ausgelesenen Elementes in die ComboBox m_Liste.AddString(CString(NameDSN)); }
Dieser Source trägt sämtliche ODBC-Datenquellen (DBase-Dateien, Excel-Datein usw.) in eine ComboBox (m_Liste) ein. Um das Programm laufen zu lassen, musst Du noch in der stdafx.h folgenden #include einfügen:
#include <afxdb.h> // MFC-Datenbankunterstützung
Gruß MacReeg
[ Dieser Beitrag wurde am 19.07.2002 um 14:24 Uhr von MacReeg editiert. ]
-
Hi MacReeg,
Super !
Vielen Dank ! - läuft wunderbar !!