CDataSource::Open
Öffnet eine Verbindung zu einer Datenquelle mithilfe von CLSID, ProgID oder CEnumerator Monikers oder fordert den Benutzer mit einem Locatordialogfeld auf.
HRESULT Open(
const CLSID& clsid,
DBPROPSET* pPropSet = NULL,
ULONG nPropertySets = 1
) throw( );
HRESULT Open(
const CLSID& clsid,
LPCTSTR pName,
LPCTSTR pUserName = NULL,
LPCTSTR pPassword = NULL,
long nInitMode = 0
) throw( );
HRESULT Open(
LPCTSTR szProgID,
DBPROPSET* pPropSet = NULL,
ULONG nPropertySets = 1
) throw( );
HRESULT Open(
LPCTSTR szProgID,
LPCTSTR pName,
LPCTSTR pUserName = NULL,
LPCTSTR pPassword = NULL,
long nInitMode = 0
) throw( );
HRESULT Open(
const CEnumerator& enumerator,
DBPROPSET* pPropSet = NULL,
ULONG nPropertySets = 1
) throw( );
HRESULT Open(
const CEnumerator& enumerator,
LPCTSTR pName,
LPCTSTR pUserName = NULL,
LPCTSTR pPassword = NULL,
long nInitMode = 0
) throw( );
HRESULT Open(
HWND hWnd = GetActiveWindow( ),
DBPROMPTOPTIONS dwPromptOptions = DBPROMPTOPTIONS_WIZARDSHEET
) throw( );
HRESULT Open(
LPCWSTR szProgID,
DBPROPSET* pPropSet = NULL,
ULONG nPropertySets = 1
) throw( );
HRESULT Open(
LPCSTR szProgID,
LPCTSTR pName,
LPCTSTR pUserName = NULL,
LPCTSTR pPassword = NULL,
long nInitMode = 0
) throw( );
Parameter
clsid
[in] CLSID des Datenanbieters.pPropSet
[in] strukturiert Ein Zeiger auf ein Array von DBPROPSET das Einbinden von festgelegt werden Eigenschaften und Werte. Siehe Eigenschaftensätze und Eigenschaftengruppen in der OLE DB-Programmierreferenz in Windows SDK.nPropertySets
[in] hat die Anzahl der DBPROPSET-Strukturen in das pPropSet-Argument.pName
[in] Der Name der zu der Datenbank z herzustellen.pUserName
[in] Der Name des Benutzers.pPassword
[in] Das Kennwort des Benutzers.nInitMode
[in] Datenbankinitialisierungsmodus. Siehe Initialisierungs-Eigenschaften in der OLE DB Programmer's Reference im Windows SDK für eine Liste von gültigen Initialisierungsmodi. Wenn nInitMode null ist, wird kein Initialisierungsmodus im Eigenschaft enthalten, der verwendet wird, um die Verbindung zu öffnen.szProgID
[in] a-Programmbezeichner.enumerator
[in] Objekt A der CEnumerator verwendet, um einen Moniker zum Öffnen der Verbindung zu erhalten, wenn der Aufrufer nicht CLSID angibt.hWnd
[in] Handle für das Fenster, das, das übergeordnete Element des Dialogfelds werden soll. Verwenden der Funktionsüberladung, die verwendet, ruft der hWnd automatisch Parameter Dienst-Komponenten auf; finden Sie Hinweise für Details.dwPromptOptions
[in] bestimmt das Format des Locatordialogfelds, um anzuzeigen. Siehe Msdasc.h für mögliche Werte.
Rückgabewert
Standard- HRESULT.
Hinweise
Die Methodenüberladungen, die den hWnd-Parameter verwendet, öffnet ein Datenquellenobjekt mit den in oledb32.dll Dienstkomponenten; Diese DLL enthält die Implementierung von Dienst-Komponentenfunktionen wie Ressourcen-Pooling, automatischer Transaktions-Eintragung, u. a. Weitere Informationen finden Sie unter "OLE DB Dienste" im OLE DB-Programmierreferenz an https://msdn.microsoft.com/library/default.asp?url=/library/en-us/oledb/htm/oledbole_db_services.asp?frame=true.
Die Methodenüberladungen, die nicht den hWnd-Parameter verwenden, öffnet ein Datenquellenobjekt, ohne die oledb32.dll Dienstkomponenten in zu verwenden. Ein Ableiten-Objekt, das mit diesen UNTEN-Pfeile geöffnet ist, ist nicht möglich, eine der Funktionen der Dienst-Komponenten zu verwenden.
Beispiel
Der folgende Code zeigt, wie eine Datenquelle mit Jet 4.0 OLE DB-Vorlagen wird. Sie behandeln die Jet-Datenquelle als OLE DB-Datenquelle. Es erfordert Ihr Aufruf Öffnen zwei sich: ein für DBPROPSET_DBINIT und das andere für DBPROPSET_JETOLEDB_DBINIT, damit Sie DBPROP_JETOLEDB_DATABASEPASSWORD festlegen können.
CDBPropSet rgDBPropSet[2]; // Declare two property sets;
// set properties elsewhere as appropriate.
hr = m_DataSource.Open(szProgId, rgDBPropSet, 2);
Anforderungen
Header: atldbcli.h