Condividi tramite


CDataSource::Open

Apre una connessione a un'origine dati tramite CLSID, di ProgID, o del moniker di CEnumerator o richiede all'utente una finestra di dialogo localizzatore.

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( );

Parametri

  • clsid
    [in] CLSID del provider di dati.

  • pPropSet
    [in] puntatore A una matrice di strutture di DBPROPSET che contengono le proprietà e i valori da impostare.Vedere insiemi di proprietà e gruppi di proprietà in OLE DB Programmer's Reference inWindows SDK.

  • nPropertySets
    [in] numero di strutture di DBPROPSET passate nell'argomento del pPropSet .

  • pName
    [in] nome del database a cui connettersi.

  • pUserName
    [in] nome dell'utente.

  • pPassword
    [in] la password dell'utente.

  • nInitMode
    [in] modalità di inizializzazione del database.Vedere proprietà di inizializzazionein OLE DB Programmer's Reference in Windows SDK per un elenco delle modalità di inizializzazione valide.Se nInitMode è zero, nessuna inizializzazione è inclusa nella raccolta di proprietà utilizzato per aprire la connessione.

  • szProgID
    [in] identificatore del programma di Su.

  • enumerator
    [in] un oggetto di CEnumerator utilizzato per ottenere un moniker per aprire la connessione quando il chiamante non specifica CLSID.

  • hWnd
    [in] handle della finestra da è il padre della finestra di dialogo.Utilizzando l'overload della funzione che utilizza il parametro di hWnd richiamerà automaticamente i componenti del servizio, vedere le note per i dettagli.

  • dwPromptOptions
    [in] determina lo stile della finestra di dialogo del localizzatore da visualizzare.Vedere Msdasc.h per i valori possibili.

Valore restituito

HRESULTstandard.

Note

L'overload del metodo che utilizza il parametro di hWnd apre un oggetto origine dati con i componenti del servizio in oledb32.dll; questa DLL contiene l'implementazione delle funzionalità dei componenti del servizio come pool di risorse, l'integrazione automatica delle transazioni, e così via.Per ulteriori informazioni, vedere “servizi OLE DB„ in OLE DB Programmer's Reference in https://msdn.microsoft.com/library/default.asp?url=/library/en-us/oledb/htm/oledbole_db_services.asp?frame=true.

Gli overload del metodo che non utilizzano il parametro di hWnd aprono un oggetto origine dati senza utilizzare i componenti del servizio in oledb32.dll.Un oggetto di CDataSource aperto con questi overload della funzione risponde non sarà in grado di utilizzare una qualsiasi delle funzionalità dei componenti di servizio.

Esempio

Nel codice seguente viene illustrato come aprire un'origine dati di jet 4,0 con i modelli OLE DB.Considerate l'origine dati di jet come origine dati OLE DB.Tuttavia, la chiamata a Apri deve disporre di due insiemi di proprietà: uno per DBPROPSET_DBINIT e l'altro per DBPROPSET_JETOLEDB_DBINIT, in modo che è possibile impostare DBPROP_JETOLEDB_DATABASEPASSWORD.

CDBPropSet rgDBPropSet[2];  // Declare two property sets;
                            // set properties elsewhere as appropriate.

hr = m_DataSource.Open(szProgId, rgDBPropSet, 2);

Requisiti

Header: atldbcli.h

Vedere anche

Riferimenti

Classe CDataSource