CDatabase::OpenEx

virtual BOOL OpenEx (LPCTSTR lpszConnectString, DWORD dwOptions = 0 );
gettare (CDBException, CMemoryException);

Valore restituito

Diverso da zero se la connessione viene effettuata con successo; in caso contrario 0 se l'utente sceglie Annulla quando ha presentato una finestra di dialogo per chiedere ulteriori informazioni sulla connessione. In tutti gli altri casi, il framework genera un'eccezione.

Parametri

lpszConnectString

Specifica un ODBC collegare stringa. Questo include il nome dell'origine dei dati, nonché altre informazioni opzionali, ad esempio un ID utente e una password. Ad esempio, "DSN = SQLServer_Source;UID = SA;PWD = abc123 "è una stringa di connessione possibile. Si noti che se si passa NULL per lpszConnectString, una finestra di dialogo origine dati verrà chiesto all'utente di selezionare un'origine dati.

dwOptions

Maschera di bit che specifica una combinazione dei valori seguenti. Il valore predefinito è 0, che significa che il database sarà aperto come condiviso con accesso in scrittura, il cursore ODBC Library DLL non sarà caricata e nella finestra di dialogo connessione ODBC verrà visualizzati solo se non c'è abbastanza informazioni per effettuare la connessione.

Osservazioni

Chiamare questa funzione membro per inizializzare un oggetto CDatabase appena costruito. Oggetto del database deve essere inizializzata prima di poter utilizzare per costruire un oggetto recordset.

Se il parametro lpszConnectString nella chiamata OpenEx non contiene informazioni sufficienti per effettuare la connessione, il driver ODBC si apre una finestra di dialogo per ottenere le informazioni necessarie da parte dell'utente, condizione che voi non avete impostato CDatabase::noOdbcDialog o CDatabase::forceOdbcDialog nel parametro dwOptions . Quando si chiama OpenEx, la stringa di connessione, lpszConnectString, privatamente memorizzata nell'oggetto CDatabase ed è disponibile chiamando la funzione membro GetConnect.

Se lo si desidera, è possibile aprire il proprio dialogo prima di chiamare OpenEx per ottenere informazioni da parte dell'utente, ad esempio una password e poi aggiungere che le informazioni per la stringa di connessione passata al OpenEx. È possibile salvare la stringa di connessione che si passa così è possibile riutilizzare la prossima volta che l'applicazione chiama OpenEx su un oggetto CDatabase.

È inoltre possibile utilizzare la stringa di connessione per più livelli di autorizzazione di accesso (ciascuno per un oggetto CDatabase differente) o di trasmettere altre informazioni specifiche dell'origine dati. Per ulteriori informazioni sulle stringhe di connessione, vedere il capitolo 5 in ODBC SDK Programmer di riferimento.

Se, ad esempio, l'host DBMS è disponibile è possibile per un tentativo di connessione a time out. Se il tentativo di connessione non riesce, OpenEx genera un CDBException.

Esempio

/ / Incorporare un oggetto CDatabase
/ / nel documento di classe
CDatabase m_dbCust;

/ / Collegare l'oggetto da una / / dati di sola lettura fonte dove
/ / la connessione ODBC di dialogo
/ / rimarrà sempre nascosti
m_dbCust.OpenEx ( t ("DS&N = MYDATASOURCE;UID = JOES "),
 nbsp;               CDatabase::openReadOnly |
                 CDatabase::noOdbcDialog)

Pa&noramica di CDatabase |nbsp; Membri della classe | Gerarchia Chart

Vedere a&nchenbsp;CDatabase:: Open, CDatabase::CDatabase, CDatabase::Close, CDBException, CRecordset:: Open

Index