CDatabase:: OpenEx

virtual BOOL OpenEx (LPCTSTR LpszConnectString, DWORD DwOptions = 0 );
Werfen Sie (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

lpszConnectString

Gibt eine ODBC-Verbindungszeichenfolge. Dies umfasst den Namen der Datenquelle sowie andere optionale Informationen, wie eine Benutzer-ID und Kennwort. Beispielsweise "DSN = SQLServer_Source;UID = SA;PWD = abc123 "ist eine mögliche Verbindungszeichenfolge. Beachten Sie, dass wenn Sie NULL für LpszConnectStringübergeben, das Dialogfeld Datenquelle des Benutzers zum Auswählen einer Datenquelle auffordert wird.

dwOptions

Eine Bitmaske, die eine Kombination der folgenden Werte angibt. Der Standardwert ist 0, was bedeutet, dass die Datenbank wird geöffnet mit Schreibzugriff freigegeben, die ODBC Cursor Library DLL nicht geladen, und das Dialogfeld des ODBC-Verbindung wird angezeigt, nur wenn es nicht genügend Informationen gibt, um die Verbindung herzustellen.

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.

Enthält der LpszConnectString -Parameter im Aufruf OpenEx nicht genügend Informationen, um die Verbindung herzustellen, öffnet der ODBC-Treiber ein Dialogfeld die erforderliche Informationen vom Benutzer zu erhalten, sofern Sie nicht CDatabase::noOdbcDialog oder CDatabase::forceOdbcDialog in den DwOptions -Parameter festgelegt haben. Beim Aufruf OpenExIhre Verbindungszeichenfolge, LpszConnectString, 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 OpenEx rufen um Informationen vom Benutzer, z. B. ein Kennwort, und fügen Sie, dass die Informationen der Verbindungszeichenfolge, die Sie an OpenExübergeben. Oder vielleicht möchten die Verbindungszeichenfolge zu speichern, die Sie übergeben, sodass Sie es das nächste Mal wiederverwenden können, das Ihre Anwendung auf ein CDatabase -Objekt OpenEx 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 OpenEx eine CDBException.

Beispiel

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

/ / Schließen Sie das Objekt, das eine / / nur-Lese-Datenquelle wo
/ / die ODBC-Verbindung im Dialogfeld
/ / immer bleiben ausgeblendet
m_dbCust.OpenEx (_T ("DS&N = MYDATASOURCE;UID = JOES "),
 Nbsp;               CDatabase::openReadOnly |
                 CDatabase::noOdbcDialog)

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

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

Index