Freigeben über


Datenquelle: Verwalten von Verbindungen (ODBC)

Dieses Thema bezieht sich auf die MFC-ODBC-Klassen.

In diesem Thema wird Folgendes erläutert:

Der Verbindungsaufbau mit einer Datenquelle umfasst das Herstellen der Kommunikation mit einem DBMS, um auf die Daten zugreifen zu können. Wenn Sie von der Anwendung aus über einen ODBC-Treiber die Verbindung zu einer Datenquelle aufbauen, stellt der Treiber die Verbindung entweder lokal oder über ein Netzwerk her.

Sie können die Verbindung mit jeder beliebigen Datenquelle herstellen, für die Sie einen ODBC-Treiber besitzen. Die Benutzer der Anwendung müssen für ihre Datenquelle denselben ODBC-Treiber verwenden. Weitere Informationen zum Verteilen von ODBC-Treibern finden Sie unter Redistributing ODBC Components to Your Customers.

Konfigurieren einer Datenquelle

Datenquellen werden mit dem ODBC-Administrator konfiguriert. Sie können mit dem ODBC-Administrator nach der Installation Datenquellen hinzufügen oder entfernen. Beim Erstellen von Anwendungen können Sie entweder Benutzer anleiten, wie Sie mit dem ODBC-Administrator Datenquellen hinzufügen, oder Sie können diese Funktionalität in die Anwendung integrieren, indem Sie direkte ODBC-Installationsaufrufe durchführen. Weitere Informationen finden Sie unter ODBC-Administrator.

Sie können eine Excel-Datei als Datenquelle verwenden, und Sie müssen die Datei so konfigurieren, dass sie registriert ist und im Dialogfeld Datenquelle auswählen angezeigt wird.

So verwenden Sie eine Excel-Datei als Datenquelle

  1. Konfigurieren Sie die Datei mit dem ODBC-Datenquellen-Administrator.

  2. Klicken Sie auf der Registerkarte "Datei-DSN " auf "Hinzufügen".

  3. Wählen Sie im Dialogfeld "Neue Datenquelle erstellen" einen Excel-Treiber aus, und klicken Sie dann auf "Weiter".

  4. Klicken Sie auf " Durchsuchen", und wählen Sie den Namen der Datei aus, die als Datumsquelle verwendet werden soll.

Hinweis

Möglicherweise müssen Sie im Dropdownmenü "Alle Dateien" auswählen, um die .xls Dateien anzuzeigen.

  1. Klicken Sie auf Weiterund dann auf Fertig stellen.

  2. Wählen Sie im Dialogfeld "ODBC Microsoft Excel Setup " die Datenbankversion und die Arbeitsmappe aus.

Arbeiten in einer Mehrbenutzerumgebung

Falls mehrere Benutzer mit derselben Datenquelle verbunden sind, können sie Daten verändern, während Sie dieselben Daten in Ihren Recordsets bearbeiten. Ebenso könnten die von Ihnen durchgeführten Änderungen die Recordsets anderer Benutzer betreffen. Weitere Informationen finden Sie unter Recordset: How Recordsets Update Records (ODBC) and Transaction (ODBC).

Generalisieren der Verbindungszeichenfolge

Die Assistenten verwenden für den Verbindungsaufbau mit einer Datenquelle eine Standard-Verbindungszeichenfolge. Mit dieser Verbindung werden während der Entwicklung einer Anwendung Tabellen und Spalten angezeigt. Diese Standard-Verbindungszeichenfolge eignet sich jedoch möglicherweise nicht für die Verbindungen, die Benutzer über die Anwendung mit der Datenquelle aufbauen. Beispielsweise könnten sich die Datenquelle und der Pfad zum Speicherort dieser Datenquelle von denen unterscheiden, die Sie beim Entwickeln der Anwendung verwendet hatten. In diesem Fall sollten Sie die CRecordset::GetDefaultConnect-Memberfunktion auf allgemeinere Weise erneut implementieren und die Assistentenimplementierung verwerfen. Sie können z. B. eine der folgenden Lösungsmöglichkeiten verwenden:

  • Registrieren und verwalten Sie die Verbindungszeichenfolgen mithilfe des ODBC-Administrators.

  • Bearbeiten Sie die Verbindungszeichenfolge, und entfernen Sie den Namen der Datenquelle. Das Framework verwendet ODBC als Datenquelle. In ODBC wird zur Laufzeit ein Dialogfeld angezeigt, in dem der Name der Datenquelle und alle anderen erforderlichen Verbindungsinformationen angefordert werden.

  • Geben Sie ausschließlich den Namen der Datenquelle an. ODBC fordert ggf. zur Eingabe der Benutzer-ID und des Kennworts auf. Vor der Verallgemeinerung könnte die Verbindungszeichenfolge z. B. folgendermaßen aussehen:

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

    Diese Verbindungszeichenfolge gibt eine vertrauenswürdige Verbindung an, die die integrierte Windows NT-Sicherheit verwendet. Die Angabe eines fest codierten bzw. keines Kennworts sollte vermieden werden, da dies zu erheblichen Sicherheitsmängeln führen kann. Sie können stattdessen eine neue Verbindungszeichenfolge für GetDefaultConnect festlegen, sodass Benutzer-ID und Kennwort abgefragt werden.

    // 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;";
    

Herstellen einer Verbindung mit einer bestimmten Datenquelle

Um eine Verbindung mit einer bestimmten Datenquelle herzustellen, muss Ihre Datenquelle bereits mit ODBC-Administrator konfiguriert worden sein.

So bauen Sie die Verbindung zu einer bestimmten Datenquelle auf

  1. Konstruieren Sie ein CDatabase-Objekt.

  2. Rufen Sie die zugehörige OpenEx Funktion oder Open Memberfunktion auf.

Weitere Informationen zum Angeben der Datenquelle, wenn es sich um eine andere Als die Datenquelle handelt, die Sie mit einem Assistenten angegeben haben, finden Sie unter "CDatabase::OpenEx " oder "CDatabase::Open " in der MFC-Referenz.

Trennen der Verbindung mit einer Datenquelle

Sie müssen alle geöffneten Recordsets schließen, bevor Sie die Close Memberfunktion von CDatabase. In Recordsets, die dem CDatabase Objekt zugeordnet sind, das Sie schließen möchten, werden alle ausstehenden oder Edit Anweisungen abgebrochen, und alle ausstehenden AddNew Transaktionen werden zurückgesetzt.

So trennen Sie die Verbindung mit einer Datenquelle

  1. Rufen Sie die Close-Memberfunktion des CDatabase Objekts auf.

  2. Zerstören Sie das Objekt, sofern Sie es nicht wiederverwenden möchten.

Erneutes Verwenden eines CDatabase-Objekts

Nachdem Sie die Verbindung zu einem CDatabase-Objekt getrennt haben, können Sie dieses wiederverwenden. Hierbei kann entweder eine neue Verbindung zu derselben oder zu einer anderen Datenquelle aufgebaut werden.

So verwenden Sie ein CDatabase-Objekt wieder

  1. Trennen Sie die ursprüngliche Verbindung des Objekts.

  2. Anstatt das Objekt zu zerstören, rufen Sie die OpenEx Zugehörige oder Open Memberfunktion erneut auf.

Siehe auch

Datenquelle (ODBC)
Datenquelle: Bestimmen des Schemas der Datenquelle (ODBC)
CRecordset-Klasse