Delen via


Een gegevensbron of stuurprogramma kiezen

De gegevensbron of het stuurprogramma dat door een toepassing wordt gebruikt, wordt soms vastgelegd in de toepassing. Een aangepaste toepassing die is geschreven door een MIS-afdeling om gegevens van de ene gegevensbron naar de andere over te dragen, bevat bijvoorbeeld de namen van die gegevensbronnen. De toepassing werkt gewoon niet met andere gegevensbronnen. Een ander voorbeeld is een verticale toepassing, zoals een toepassing die wordt gebruikt voor ordervermelding. Een dergelijke toepassing maakt altijd gebruik van dezelfde gegevensbron, die een vooraf gedefinieerd schema heeft dat bekend is door de toepassing.

Andere toepassingen selecteren de gegevensbron of het stuurprogramma tijdens runtime. Dit zijn meestal algemene toepassingen die ad-hocquery's uitvoeren, zoals een spreadsheet waarin ODBC wordt gebruikt om gegevens te importeren. Dergelijke toepassingen vermelden meestal de beschikbare gegevensbronnen of stuurprogramma's en stellen gebruikers in staat om de gegevensbronnen of stuurprogramma's te kiezen waarmee ze willen werken. Of een algemene toepassing gegevensbronnen, stuurprogramma's of beide vaak vermeldt, is afhankelijk van of de toepassing dbMS- of bestandsstuurprogramma's gebruikt.

DBMS-stuurprogramma's vereisen meestal een complexe set verbindingsgegevens, zoals het netwerkadres, het netwerkprotocol, de databasenaam, enzovoort. Het doel van een gegevensbron is om al deze informatie te verbergen. Daarom is het gegevensbronparadigma geschikt voor gebruik met DBMS-stuurprogramma's. Een toepassing kan op twee manieren een lijst met gegevensbronnen voor de gebruiker weergeven. Het kan SQLDriverConnect aanroepen met het trefwoord DSN (Naam van gegevensbron) en geen bijbehorende waarde; In Driver Manager wordt een lijst met namen van gegevensbronnen weergegeven. Als de toepassing controle wil over het uiterlijk van de lijst, roept deze SQLDataSources aan om een lijst met beschikbare gegevensbronnen op te halen en een eigen dialoogvenster samen te stellen. Deze functie wordt geïmplementeerd door Driver Manager en kan worden aangeroepen voordat er stuurprogramma's worden geladen. De toepassing roept vervolgens een verbindingsfunctie aan en geeft deze door aan de naam van de gekozen gegevensbron.

Als er geen gegevensbron is opgegeven, wordt de standaardgegevensbron gebruikt die wordt aangegeven door de systeeminformatie. (Zie Standaardsubsleutel voor meer informatie.) Als SQLConnect wordt aangeroepen met behulp van een ServerName-argument dat niet kan worden gevonden, een null-aanwijzer is of 'STANDAARD' is, maakt stuurprogrammabeheer verbinding met de standaardgegevensbron. De standaardgegevensbron wordt ook gebruikt als de verbindingsreeks die wordt gebruikt in een aanroep naar SQLDriverConnect of SQLBrowseConnect het DSN-trefwoord bevat dat is ingesteld op STANDAARD of als de opgegeven gegevensbron niet wordt gevonden. Daarnaast wordt de standaardgegevensbron gebruikt als de verbindingsreeks die wordt gebruikt in een aanroep naar SQLDriverConnect niet het DSN-trefwoord bevat.

Met stuurprogramma's op basis van bestanden is het mogelijk om een bestandsparadigma te gebruiken. Voor gegevens die zijn opgeslagen op de lokale computer, weten gebruikers vaak dat hun gegevens zich in een bepaald bestand bevinden, zoals Employee.dbf. In plaats van een onbekende gegevensbron te selecteren, is het voor dergelijke gebruikers gemakkelijker om het bestand te selecteren dat ze kennen. Om dit te implementeren, roept de toepassing eerst SQLDrivers aan. Deze functie wordt geïmplementeerd door Driver Manager en kan worden aangeroepen voordat er stuurprogramma's worden geladen. SQLDrivers retourneert een lijst met beschikbare stuurprogramma's; het retourneert ook waarden voor de trefwoorden FileUsage en FileExtns . In het trefwoord FileUsage wordt uitgelegd of stuurprogramma's op basis van bestanden bestanden behandelen als tabellen, net als Xbase of als databases, net als Microsoft Access. Het trefwoord FileExtns bevat de bestandsnaamextensies die het stuurprogramma herkent, zoals .dbf voor een Xbase-stuurprogramma. Met behulp van deze informatie maakt de toepassing een dialoogvenster waarmee de gebruiker een bestand kiest. Op basis van de extensie van het gekozen bestand maakt de toepassing vervolgens verbinding met het stuurprogramma door SQLDriverConnect aan te roepen met het trefwoord DRIVER .

Er is niets om te voorkomen dat een toepassing een gegevensbron gebruikt met een stuurprogramma op basis van een bestand of SQLDriverConnect aanroept met het sleutelwoord DRIVER om verbinding te maken met een DBMS-stuurprogramma. Hier volgen verschillende algemene toepassingen van het sleutelwoord DRIVER voor DBMS-stuurprogramma's:

  • Er worden geen gegevensbronnen gemaakt. Een aangepaste toepassing kan bijvoorbeeld een bepaald stuurprogramma en een bepaalde database gebruiken. Als de naam van het stuurprogramma en alle informatie die nodig is om verbinding te maken met de database in de toepassing in code is vastgelegd, hoeven gebruikers geen gegevensbron op hun computer te maken om de toepassing uit te voeren. Ze hoeven alleen de toepassing en het stuurprogramma te installeren.

    Een nadeel van deze methode is dat de toepassing opnieuw moet worden gecompileerd en opnieuw moet worden gedistribueerd als de verbindingsgegevens worden gewijzigd. Als de naam van een gegevensbron in de toepassing in code is vastgelegd in plaats van volledige verbindingsgegevens, moet elke gebruiker alleen de gegevens in de gegevensbron wijzigen.

  • Toegang tot een bepaalde DBMS één keer. Een spreadsheet waarmee gegevens worden opgehaald door ODBC-functies aan te roepen, kan bijvoorbeeld het trefwoord DRIVER bevatten om een bepaald stuurprogramma te identificeren. Omdat de naam van het stuurprogramma zinvol is voor alle gebruikers die dat stuurprogramma hebben, kan het spreadsheet worden doorgegeven aan die gebruikers. Als het werkblad een gegevensbronnaam bevat, moet elke gebruiker dezelfde gegevensbron maken om het werkblad te gebruiken.

  • Bladeren door het systeem voor alle databases die toegankelijk zijn voor een bepaald stuurprogramma. Zie Verbinding maken met SQLBrowseConnect verderop in deze sectie voor meer informatie.