CDatabase::OpenEx

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

Valeur de retour

Différent de zéro si la connexion est établie avec succès ; sinon, 0 si l'utilisateur choisit annuler lorsqu'une boîte de dialogue demandant pour plus des informations de connexion. Dans tous les autres cas, le framework lève une exception.

Paramètres

lpszConnectString

Spécifie la chaîne de connexion de l'ODBC. Cela inclut le nom de source de données ainsi que d'autres informations facultatives, comme un ID utilisateur et le mot de passe. Par exemple, "DSN = SQLServer_Source ;UID = SA ;PWD = abc123 "est une chaîne de connexion possible. Notez que si vous passez NULL pour lpszConnectString, une boîte de dialogue Source de données invite l'utilisateur à sélectionner une source de données.

dwOptions

Un masque de bits qui spécifie une combinaison des valeurs suivantes. La valeur par défaut est 0, ce qui signifie que la base de données sera ouvert comme partagé avec accès en écriture, la DLL de bibliothèque curseur ODBC ne sera pas chargée, et affiche la boîte de dialogue de connexion ODBC que si il n'existe pas suffisamment d'informations pour établir la connexion.

Remarques

Appelez cette fonction membre pour initialiser un objet CDatabase nouvellement construit. Votre objet de base de données doit être initialisé avant vous pouvez l'utiliser pour construire un objet recordset.

Si le paramètre lpszConnectString dans votre appel OpenEx ne contenance pas suffisamment d'informations pour établir la connexion, le pilote ODBC ouvre une boîte de dialogue pour obtenir les informations nécessaires à l'utilisateur, pourvu que vous n'avez pas défini CDatabase::noOdbcDialog ou CDatabase::forceOdbcDialog dans le paramètre dwOptions . Lorsque vous appelez OpenEx, votre chaîne de connexion, lpszConnectString, est privée stockée dans l'objet CDatabase et est disponible en appelant la fonction membre GetConnect.

Si vous le souhaitez, vous pouvez ouvrir votre propre boîte de dialogue avant de vous appelez OpenEx pour obtenir des informations de l'utilisateur, comme un mot de passe et ensuite ajoutez cette information à la chaîne de connexion, que vous passez à OpenEx. Ou vous souhaitez enregistrer la chaîne de connexion que vous passez de sorte que vous pouvez réutiliser la prochaine fois que votre application appelle OpenEx sur un objet CDatabase.

Vous pouvez également utiliser la chaîne de connexion pour plusieurs niveaux d'autorisation de connexion (chacun pour un objet CDatabase différent) ou de transmettre d'autres informations spécifiques à la source de données. Pour plus d'informations sur les chaînes de connexion, voir le chapitre 5 de la référence du programmeur ODBC SDK.

Il est possible pour une tentative de connexion à temps si, par exemple, l'hôte de SGBD est indisponible. Si la tentative de connexion échoue, OpenEx lève une exception CDBException.

Exemple

/ / Incorporer un objet CDatabase
/ / dans votre classe de document
CDatabase m_dbCust ;

/ / Connexion de l'objet pour un / / données en lecture seule source où
/ / de la boîte de dialogue de la connexion ODBC
/ / restera toujours caché
m_dbCust.OpenEx (_T ("DS&N = MYDATASOURCE ;UID = JOES »),
 nbsp ;               CDatabase::openReadOnly |
                 CDatabase::noOdbcDialog)

Aperçu de l'objet CDatabase |  ; Membres de la classe | Graphique de la hiérarchie

Voir aussi  ;CDatabase::Open, CDatabase::CDatabase, CDatabase::Close, CDBException, CRecordset::Open

Index