Freigeben über


CDataSource::Open

Öffnet eine Verbindung zu einer Datenquelle mithilfe CLSID, ProgID oder CEnumerator Moniker bzw. fordert den Benutzer mit einem Dialogfeld Lokator 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] Ein Zeiger auf ein Array DBPROPSET-Strukturen, die die festzulegenden Eigenschaften und Werte enthalten.Weitere Informationen finden Sie unter Eigenschaftensätze und Eigenschaftengruppen in der OLE DB Programmer's Reference in Windows SDK.

  • nPropertySets
    [in] Die Anzahl der DBPROPSET-Strukturen pPropSet das übergebene Argument.

  • pName
    [in] Der Name der zu dem der Datenbank herzustellen.

  • pUserName
    [in] Der Name des Benutzers.

  • pPassword
    [in] Das Kennwort des Benutzers.

  • nInitMode
    [in] Der Modus Initialisieren Datenbank.Weitere Informationen finden Sie unter Initialisierungs-Eigenschaften in der OLE DB Programmer's Reference in Windows SDK für eine Liste gültiger Initialisierung ändert.Wenn nInitMode (null) ist, wird kein Initialisierungsmodus im Eigenschaft enthalten, der verwendet wird, um die Verbindung zu öffnen.

  • szProgID
    [in] a-Programm bezeichner.

  • enumerator
    [in] Ein CEnumerator-Objekt, das verwendet wird, um einen Moniker zum Öffnen der Verbindung, wenn der Aufrufer nicht CLSID angibt.

  • hWnd
    [in] Handle für das Fenster, das das übergeordnete Element des Dialogfelds werden soll.Verwenden der Funktionen, die Überladung verwendet wird, ruft der hWnd-Parameter automatisch Dienst-Komponenten auf. Einzelheiten finden Sie in den Hinweisen.

  • dwPromptOptions
    [in] Der Lokator bestimmt das Format des Dialogfelds, das angezeigt werden soll.Weitere Informationen finden Sie Msdasc.h für mögliche Werte.

Rückgabewert

Standardmäßige HRESULT.

Hinweise

Die Methodenüberladung, die den hWnd-Parameter verwendet, wird ein Datenquellenobjekt mit den Komponenten in oledb32.dll. dieses DLL enthält die Implementierung von Dienst-Komponenten Ressourcen-Pooling Funktionen wie die automatische Transaktions-Eintragung usw.Weitere Informationen finden Sie unter "OLE DB-Dienste" in der OLE DB-Programmierreferenz 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-Parametern verwenden, öffnen Sie ein Datenquellenobjekt, ohne die Komponenten in oledb32.dll zu verwenden.Ein CDataSource-Objekt, das diesen Funktionsüberladungen geöffnet wird, ist nicht in der Lage, alle Funktionen der Dienst-Komponenten zu verwenden.

Beispiel

Der folgende Code zeigt, wie Sie eine Datenquelle für Jet 4.0 OLE DB-Vorlagen öffnet.Sie behandeln die Jet-Datenquelle als OLE DB-Datenquelle.Allerdings erfordert Ihr Aufruf von Öffnen zwei Eigenschaftensätze: DBPROPSET_DBINIT und die andere für ein DBPROPSET_JETOLEDB_DBINIT für, sodass 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

Siehe auch

Referenz

CDataSource-Klasse