CDaoDatabase::Open

È necessario chiamare la funzione membro per inizializzare un oggetto appena creata CDaoDatabase che rappresenta un database esistente.

virtual void Open( 
   LPCTSTR lpszName, 
   BOOL bExclusive = FALSE, 
   BOOL bReadOnly = FALSE, 
   LPCTSTR lpszConnect = _T( 
   "" ) 
);

Parametri

  • lpszName
    Un'espressione stringa che rappresenta il nome di un file di database esistente Microsoft Jet (.MDB).Se il nome file presenta un'estensione, è obbligatorio.Se la rete supporta la convenzione di denominazione uniforme (UNC), è anche possibile specificare un percorso di rete, ad esempio "\\\\MYSERVER\\MYSHARE\\MYDIR\\MYDB.MDB".(Raddoppiano le barre rovesciate vengono richieste nei valori letterali stringa perché "\" è il carattere di escape di C++.)

    Alcune considerazioni valgono quando si utilizza lpszName.Se:

    • Si riferisce a un database già aperto per l'accesso esclusivo da un altro utente, MFC genera un'eccezione di tipo CDaoException.Intercettare un'eccezione che al consumer si è certi che il database non è disponibile.

    • È una stringa vuota ("") e il lpszConnect è "ODBC,", una finestra di dialogo in cui sono elencati tutti i nomi registrati di un'origine dati ODBC visualizzare in modo che l'utente possa selezionare un database.Evitare di collegamenti diretti a origini dati ODBC, utilizzare una tabella collegata anziché.

    • In caso contrario non fa riferimento a un database esistente o il nome valido di un'origine dati ODBC MFC, genera un'eccezione di tipo CDaoException.

    [!NOTA]

    Per informazioni dettagliate sui codici di errore di DAO, vedere il file di DAOERR.H.Per informazioni correlate, vedere l'argomento "errori intercettabili di accesso ai dati" nella Guida di DAO.

  • bExclusive
    Valore booleano che è TRUE se il database deve essere aperto per l'accesso (non condiviso) e FALSE esclusivo se il database deve essere aperto per l'accesso condiviso.Se si omette questo argomento, il database viene aperto per l'accesso condiviso.

  • bReadOnly
    Valore booleano che è TRUE se il database deve essere aperto per l'accesso di sola lettura e FALSE se il database deve essere aperto per l'accesso in lettura/scrittura.Se si omette questo argomento, il database viene aperto per l'accesso in lettura/scrittura.Tutti i recordset dipendenti ereditano questo attributo.

  • lpszConnect
    Un'espressione stringa utilizzato per aprire il database.Questa stringa costituisce ODBC connette gli argomenti.È necessario fornire argomenti esclusivi di sola lettura per fornire una stringa di origine.Se il database è un database Microsoft Jet (.MDB), questa stringa vuota ("").La sintassi del valore predefinito ( _T("") fornisce la portabilità per Unicode nonché compilazione ANSI dell'applicazione.

Note

Apri associa il database all'oggetto sottostante di DAO.Non è possibile utilizzare l'oggetto di database al recordset del costrutto, a TableDef, o agli oggetti tra fino a inizializzarlo.Apri aggiunge l'oggetto di database all'area di lavoro collegato di raccolta.

Utilizzare i parametri come segue:

  • Se si apre un database Microsoft Jet (.MDB), utilizzare il parametro lpszName e passare una stringa vuota per il parametro lpszConnect o passare una serie di password in formato "; PWD=password" se il database è protetto (database MDB solo).

  • Se si apre l'origine dati ODBC, passare una stringa valida di connessione ODBC in lpszConnect e una stringa vuota in lpszName.

Per informazioni correlate, vedere l'argomento "metodo di OpenDatabase" nella Guida di DAO.

[!NOTA]

Per ottenere prestazioni migliori quando si accede ai database esterni, inclusi i database di ISAM e le origini dati ODBC, è consigliabile associare le tabelle di database esterno a un motore di database Microsoft Jet (.MDB piuttosto che connette direttamente all'origine dati.

È possibile che un tentativo di connessione è scaduto se, ad esempio, l'host DBMS non è disponibile.Se il tentativo di connessione non riesce, Apri genera un'eccezione di tipo CDaoException.

I commenti rimanenti si applicano solo ai database ODBC:

Se il database è un database ODBC e i parametri nella chiamata Apri non contengono informazioni sufficienti per effettuare la connessione, il driver ODBC visualizzata una finestra di dialogo per ottenere le informazioni necessarie dall'utente.Quando si chiama Apri, la stringa di connessione, lpszConnect, viene archiviata in modo privato e disponibile chiamando la funzione membro GetConnect.

Se si desidera, è possibile aprire la finestra di dialogo prima di chiamare Apri per ottenere informazioni dall'utente, ad esempio la password, quindi aggiungere le informazioni sulla stringa di connessione passata a Apri.Oppure è possibile salvare la stringa di connessione passata ad esempio Windows nel Registro di sistema) in modo che sia possibile riutilizzarlo la volta successiva che le chiamate Apri di applicazione su un oggetto CDaoDatabase.

È inoltre possibile utilizzare la stringa di connessione per più livelli di autorizzazione di accesso (ognuna per un oggetto diverso CDaoDatabase ) o trasferire altre informazioni specifiche.

Requisiti

Header: afxdao.h

Vedere anche

Riferimenti

Classe di CDaoDatabase

Grafico della gerarchia

CDatabase::CDatabase

CDatabase::Close