Datenquelle: Verwalten von Verbindungen (ODBC)
Dieses Thema bezieht sich auf die MFC-ODBC-Klassen.
In diesem Thema wird Folgendes erläutert:
Wie sich eine Mehrbenutzerumgebung auf eine Datenquelle und die zugehörigen Recordsets auswirkt.
Warum Sie eine Verbindungszeichenfolge auf eine Datenquelle generalisieren.
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
Konfigurieren Sie die Datei mit dem ODBC-Datenquellen-Administrator.
Klicken Sie auf der Registerkarte "Datei-DSN " auf "Hinzufügen".
Wählen Sie im Dialogfeld "Neue Datenquelle erstellen" einen Excel-Treiber aus, und klicken Sie dann auf "Weiter".
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.
Klicken Sie auf Weiterund dann auf Fertig stellen.
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 Verbinden ion-Zeichenfolge
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 Memberfunktion "CRecordset::GetDefault Verbinden" auf allgemeinere Weise neu implementieren und die Implementierung des Assistenten aufheben Karte. 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;";
Verbinden 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
Konstruieren Sie ein
CDatabase
-Objekt.Rufen Sie die zugehörige
OpenEx
Funktion oderOpen
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
Rufen Sie die Close-Memberfunktion des
CDatabase
Objekts auf.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
Trennen Sie die ursprüngliche Verbindung des Objekts.
Anstatt das Objekt zu zerstören, rufen Sie die
OpenEx
Zugehörige oderOpen
Memberfunktion erneut auf.
Siehe auch
Datenquelle (ODBC)
Datenquelle: Bestimmen des Schemas der Datenquelle (ODBC)
CRecordset-Klasse