CDatabase::

virtuelleBOOLOpen (LPCTSTRLpszDSN,BOOLbExclusive = FALSE,BOOLbReadOnly = FALSE,LPCTSTRLpszConnect "ODBC;",BOOLbUseCursorLibTRUE==);
werfen ( CDBException, CMemoryException );

Rückgabewert

Ungleich NULL, wenn die Verbindung erfolgreich hergestellt wird; Andernfalls abzubrechen 0, wenn der Benutzer wählt, wenn ein Dialog boxen fragend für weitere Verbindungsinformationen dargestellt. In allen anderen Fällen löst das Framework eine Ausnahme.

Parameter

lpszDSN

Gibt einen Datenquellennamen — ein Namen mit ODBC über den ODBC-Administrator-Programm registriert. Wenn ein DSN-Wert LpszConnect angegeben ist (in der Form "DSN = Lt; Datenquelle >"), es muss nicht wieder in LpszDSNangegeben werden. LpszDSN sollte in diesem Fall NULLsein. Andernfalls können Sie NULL übergeben, wenn Sie möchten, um den Benutzer das Dialogfeld Datenquelle in dem der Benutzer eine Datenquelle auswählen kann. Weitere Informationen finden Sie unter Hinweise.

bExclusive

In dieser Version der Bibliothek-Klasse unterstützt nicht. Derzeit werden eine Assertion schlägt fehl, wenn dieser Parameter wahrist. Die Datenquelle ist immer geöffnet, als (nicht exklusiv).

bReadOnly

TRUE , wenn Sie, die Verbindung beabsichtigen zu nur-Lese- und Aktualisierungen in der Datenquelle zu verbieten. Alle abhängigen Recordsets erben dieses Attribut. Der Standardwert ist FALSE.

lpszConnect

Gibt eine Verbindungszeichenfolge. Die Verbindungszeichenfolge verkettet Informationen möglicherweise auch einen Datenquellennamen, eine Benutzer-ID gültig auf der Datenquelle, eine Zeichenfolge des Benutzer-Authentifizierung (Passwort, wenn die Datenquelle eine benötigt) und andere Informationen. Die gesamte Verbindungszeichenfolge muss vorangestellt werden durch die Zeichenfolge "ODBC;" (groß- oder Kleinbuchstaben). Die "ODBC;" Zeichenfolge wird verwendet, um anzugeben, dass die Verbindung zu einer ODBC-Datenquelle; Dies ist für Aufwärtskompatibilität, wenn zukünftige Versionen von der Bibliothek-Klasse möglicherweise nicht-ODBC-Datenquellen unterstützt.

bUseCursorLib

TRUE , wenn Sie die ODBC Cursor Library DLL geladen werden soll. Die Cursor-Bibliothek maskiert einige Funktionen des zugrunde liegenden ODBC-Treibers, wirkungsvoll verhindert die Verwendung von Dynasets (falls sie der Treiber unterstützt). Die einzige Cursor unterstützt, wenn die Cursor-Bibliothek geladen wird sind statische Snapshots und Vorwärts-Cursor. Der Standardwert ist TRUE. Wenn Sie ein Recordset-Objekt direkt von CRecordset erstellen, ohne daraus ableiten möchten, sollten Sie nicht die Cursor-Bibliothek laden.

Bemerkungen

Rufen Sie diese Memberfunktion um ein neu konstruierten CDatabase -Objekt zu initialisieren. Ihr Datenbankobjekt muss initialisiert werden, bevor Sie es verwenden können, um ein Recordset-Objekt zu erstellen.

Hinweis&Nbsp;  Die OpenEx -Memberfunktion aufrufen, ist die bevorzugte Methode zum Verbinden mit einer Datenquelle und das Datenbankobjekt initialisieren.

Wenn die Parameter in Ihrer Ausschreibung nicht genügend Informationen enthalten, um die Verbindung herzustellen, Dialogfeld der ODBC-Treiber ein die erforderliche Informationen vom Benutzer zu erhalten. Wenn Sie Openaufrufen, Ihre Verbindungszeichenfolge, LpszConnect, privat in das CDatabase -Objekt gespeichert und durch Aufrufen der Memberfunktion GetConnect ist verfügbar.

Wenn Sie möchten, können Sie Ihr eigenes Dialogfeld öffnen, bevor Sie Öffnen aufrufen , um Informationen vom Benutzer, z. B. ein Kennwort, dann die Verbindungszeichenfolge, die Sie, um zu öffnen übergeben, dass Informationen hinzufügen. Oder möchten Sie möglicherweise die Verbindungszeichenfolge zu speichern, die Sie übergeben, sodass Sie es das nächste Mal wiederverwenden können, das Ihre Anwendung auf ein CDatabase -Objekt offen aufruft.

Sie können auch die Verbindungszeichenfolge für mehrere Ebenen von Login-Autorisierung (jeweils für ein anderes CDatabase -Objekt) oder andere Daten datenquellenspezifischen Informationsvermittlung. Weitere Informationen über Verbindungszeichenfolgen, siehe Kapitel 5 in der ODBC SDK Programmer's Reference.

Es ist möglich für einen Verbindungsversuch zu einem Timeout, wenn beispielsweise der DBMS-Host nicht verfügbar ist. Wenn der Verbindungsversuch fehlschlägt, löst eine CDBException Open.

Beispiel

/ / Embed ein CDatabase-Objekt
/ / in der Dokumentenklasse
CDatabase M_dbCust;

/ / Schließen Sie das Objekt, das eine
/ / Daten Quelle (kein Passwort)
/ / die ODBC-Verbindung im Dialogfeld
/ / immer bleiben ausgeblendet
m_dbCust.Open (_T ("MYDATASOURCE"), FALSE,
 &Nbsp;             FALSCHE, _T ("ODBC;UID = JOES "),

// ...Oder den Benutzer für alle Abfragen
/ / Informationen
m_dbCust.Open (NULL)

Übersicht über die CDatabase -|  Member der Klasse | Hierarchiediagramm

Siehe auch&Nbsp;CDatabase:: OpenEx, CDatabase::CDatabase, CDatabase::Close, CDBException, CRecordset:: Open

Index