Delen via


Gegevensbron: Verbindingen beheren (ODBC)

Dit onderwerp is van toepassing op de MFC ODBC-klassen.

In dit onderwerp wordt uitgelegd:

Verbinding maken met een gegevensbron betekent dat communicatie met een DBMS tot stand wordt gebracht voor toegang tot de gegevens. Wanneer u verbinding maakt met een gegevensbron vanuit een toepassing via een ODBC-stuurprogramma, maakt het stuurprogramma de verbinding voor u, lokaal of via een netwerk.

U kunt verbinding maken met elke gegevensbron waarvoor u een ODBC-stuurprogramma hebt. Gebruikers van uw toepassing moeten ook hetzelfde ODBC-stuurprogramma voor hun gegevensbron hebben. Zie ODBC-onderdelen opnieuw distribueren naar uw klanten voor meer informatie over het opnieuw distribueren van ODBC-stuurprogramma's.

Een gegevensbron configureren

ODBC-beheerder wordt gebruikt om uw gegevensbronnen te configureren. U kunt ODBC-beheerder ook gebruiken na de installatie om gegevensbronnen toe te voegen of te verwijderen. Wanneer u toepassingen maakt, kunt u uw gebruikers doorsturen naar de ODBC-beheerder, zodat ze gegevensbronnen kunnen toevoegen of u kunt deze functionaliteit inbouwen in uw toepassing door directe ODBC-installatieoproepen uit te voeren. Zie ODBC-beheerder voor meer informatie.

U kunt een Excel-bestand als gegevensbron gebruiken en u moet het bestand zo configureren dat het is geregistreerd en wordt weergegeven in het dialoogvenster Gegevensbron selecteren.

Een Excel-bestand gebruiken als gegevensbron

  1. Configureer het bestand met de ODBC-gegevensbronbeheerder.

  2. Klik op het tabblad Bestands-DSN op Toevoegen.

  3. Selecteer een Excel-stuurprogramma in het dialoogvenster Nieuwe gegevensbron maken en klik vervolgens op Volgende.

  4. Klik op Bladeren en selecteer de naam van het bestand dat moet worden gebruikt als datumbron.

Opmerking

Mogelijk moet u Alle bestanden selecteren in de vervolgkeuzelijst om de .xls bestanden weer te geven.

  1. Klik op volgende, en klik vervolgens op Voltooien.

  2. Selecteer in het dialoogvenster ODBC Microsoft Excel Setup de databaseversie en -werkmap.

Werken in een omgeving met meerdere gebruikers

Als meerdere gebruikers zijn verbonden met een gegevensbron, kunnen ze gegevens wijzigen terwijl u deze in uw recordsets bewerkt. Op dezelfde manier kunnen uw wijzigingen van invloed zijn op de recordsets van andere gebruikers. Zie Recordset: Hoe Recordsets Records Bijwerken (ODBC) en Transaction (ODBC) voor meer informatie.

De verbindingsreeks generaliseren

De wizards gebruiken een standaardverbindingsreeks om een verbinding met een gegevensbron tot stand te brengen. U gebruikt deze verbinding om tabellen en kolommen weer te geven tijdens het ontwikkelen van uw toepassing. Deze standaardverbindingsreeks is echter mogelijk niet geschikt voor de verbindingen van uw gebruikers met de gegevensbron via uw toepassing. De gegevensbron en het pad naar de locatie kunnen bijvoorbeeld afwijken van de gegevensbron die wordt gebruikt bij het ontwikkelen van uw toepassing. In dat geval moet u de functie CRecordset::GetDefaultConnect-lid op algemenere wijze opnieuw implementeren en de implementatie van de wizard negeren. Gebruik bijvoorbeeld een van de volgende methoden:

  • Registreer en beheer de verbindingsreeksen met behulp van ODBC-beheerder.

  • Bewerk de verbindingsreeks en verwijder de naam van de gegevensbron. Het framework levert ODBC als gegevensbron; tijdens runtime geeft ODBC een dialoogvenster weer waarin wordt gevraagd om de naam van de gegevensbron en eventuele andere vereiste verbindingsgegevens.

  • Geef alleen de naam van de gegevensbron op. ODBC vraagt indien nodig om de gebruikers-id en het wachtwoord. Voordat de verbindingsreeks wordt gegeneraliseerd, ziet de verbindingsreeks er bijvoorbeeld als volgt uit:

    CString CApp1Set::GetDefaultConnect()
    {
       return "ODBC;DSN=afx;Trusted_Connection=Yes;";
    }
    

    Deze verbindingsreeks geeft een vertrouwde verbinding op, die gebruikmaakt van geïntegreerde Windows NT-beveiliging. U moet het coderen van een wachtwoord voorkomen of een leeg wachtwoord opgeven, omdat dit een grote zwakke plek in de beveiliging creëert. In plaats daarvan kunt u een nieuwe verbindingsreeks opgeven GetDefaultConnect , zodat er query's worden uitgevoerd op een gebruikers-id en wachtwoord.

    // User must select data source and supply user ID and password:
        return "ODBC;";
    // User ID and password required:
        return "ODBC;DSN=mydb;";
    // Password required (myuserid must be replaced with a valid user ID):
        return "ODBC;DSN=mydb;UID=myuserid;";
    // Hard-coded user ID and password (SECURITY WEAKNESS--AVOID):
        return "ODBC;DSN=mydb;UID=sa;PWD=777;";
    

Verbinding maken met een specifieke gegevensbron

Als u verbinding wilt maken met een specifieke gegevensbron, moet uw gegevensbron al zijn geconfigureerd met ODBC-beheerder.

Verbinding maken met een specifieke gegevensbron

  1. Maak een CDatabase object.

  2. Roep de lidfunctie OpenEx of Open aan.

Zie CDatabase::OpenEx of CDatabase::Open in de MFC-verwijzing voor meer informatie over het opgeven van de gegevensbron als dit iets anders is dan de gegevensbron die u hebt opgegeven met een wizard.

Verbinding met een gegevensbron verbreken

U moet alle geopende recordsets sluiten voordat u de Close-lidfunctie van CDatabase aanroept. In recordsets die zijn gekoppeld aan het CDatabase object dat u wilt sluiten, worden alle lopende AddNew of Edit instructies geannuleerd en worden alle lopende transacties teruggedraaid.

De verbinding met een gegevensbron verbreken

  1. Roep de CDatabase-functie van het -object aan.

  2. Vernietig het object tenzij u het opnieuw wilt gebruiken.

Een CDatabase-object opnieuw gebruiken

U kunt een CDatabase object opnieuw gebruiken nadat u de verbinding met het object hebt verbroken, ongeacht of u het gebruikt om opnieuw verbinding te maken met dezelfde gegevensbron of om verbinding te maken met een andere gegevensbron.

Een CDatabase-object opnieuw gebruiken

  1. Sluit de oorspronkelijke verbinding van het object.

  2. In plaats van het object te vernietigen, roep de lidfunctie OpenEx of Open van het object opnieuw aan.

Zie ook

Gegevensbron (ODBC)
Gegevensbron: het schema van de gegevensbron bepalen (ODBC)
CRecordset-klasse