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 !!


Anmelden zum Antworten