Condividi tramite


CDataSource::Open

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

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 provider di dati.

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

  • nPropertySets
    [in] numero di strutture di DBPROPSET passate nell'argomento di 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 di metodi di inizializzazione valide. Se nInitMode è zero, nessuna operazione è inclusa nell'insieme di proprietà utilizzato per aprire la connessione.

  • szProgID
    [in] identificatore di programma A.

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

  • hWnd
    [in] handle alla finestra che debba essere il padre della finestra di dialogo. Utilizzando l'overload della funzione che utilizza il parametro di hWnd richiamerà automaticamente i componenti di servizio; vedere la sezione note per informazioni dettagliate.

  • dwPromptOptions
    [in] determina lo stile della finestra di dialogo locator 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 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 apri con questi overload della funzione vuole non è possibile utilizzare qualsiasi della funzionalità dei componenti del 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

Intestazione: atldbcli.h

Vedere anche

Riferimenti

Classe CDataSource