CDatabase::Open

virtuelBOOLOuvert (LPCTSTRlpszDSN,BOOLbExclusive = FALSE,BOOLbReadOnly = FALSE,LPCTSTRlpszConnect = "ODBC;",BOOLbUseCursorLibTRUE=);
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

lpszDSN

Spécifie un nom de source de données — un nom enregistré avec ODBC via le programme Administrateur ODBC. Si une valeur DSN est spécifiée dans lpszConnect (sous la forme "DSN = lt ; source de données > »), il ne doit pas être spécifié une fois de plus dans lpszDSN. Dans ce cas, la lpszDSN doit être NULL. Sinon, vous pouvez passer NULL si vous souhaitez présenter l'utilisateur avec une boîte de dialogue Source de données dans laquelle l'utilisateur peut sélectionner une source de données. Pour plus d'informations, voir remarques.

bExclusive

Pas pris en charge dans cette version de la bibliothèque de classes. Actuellement, l'assertion échoue si ce paramètre est TRUE. La source de données est toujours ouverte comme partagée (non exclusive).

bReadOnly

TRUE si vous avez l'intention de la connexion à être en lecture seule et à interdire les mises à jour de la source de données. Tous les Jeux d'enregistrements dépendants hérite de cet attribut. La valeur par défaut est FALSE.

lpszConnect

Spécifie une chaîne de connexion. La chaîne de connexion concatène les informations, y compris éventuellement un nom de source de données, un ID d'utilisateur valide sur la source de données, une chaîne d'authentification utilisateur (mot de passe, si la source de données requiert un) et d'autres informations. La chaîne de connexion tout doit être préfixée par la chaîne « ODBC; » (en majuscules ou en minuscules). Le « ODBC; » chaîne est utilisée pour indiquer que la connexion à une source de données ODBC ; C'est pour la compatibilité ascendante, lorsque les versions futures de la bibliothèque de classes peuvent prendre en charge les sources de données ODBC-non.

bUseCursorLib

TRUE si vous souhaitez que la DLL de bibliothèque curseur ODBC doit être chargé. La bibliothèque de curseurs masque certaines fonctionnalités du pilote ODBC sous-jacent, empêchant efficacement l'utilisation des feuilles de réponse dynamiques (si le pilote prend en charge les). Les curseurs uniquement pris en charge si le chargée de la bibliothèque de curseurs sont instantanés statiques et les curseurs avant uniquement. La valeur par défaut est TRUE. Si vous prévoyez de créer un objet recordset directement à partir de CRecordset sans dériver d'elle, vous ne devez pas charger la bibliothèque de curseurs.

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.

&Notenbsp ;  Appeler la fonction membre OpenEx est la meilleure façon de se connecter à une source de données et l'initialiser votre objet de base de données.

Si les paramètres de votre appel ouvert ne contiennent pas suffisamment de renseignements pour établir la connexion, le pilote ODBC ouvre une boîte de dialogue pour obtenir les informations nécessaires à l'utilisateur. Lorsque vous appelez Open, votre chaîne de connexion, lpszConnect, 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 Ouvrir pour obtenir des informations de l'utilisateur, comme un mot de passe, puis ajoutez ces informations à la chaîne de connexion, que vous passez à Ouvrir. 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 ouvert 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, Open lève une exception CDBException.

Exemple

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

/ / Connexion de l'objet d'une
/ / de la source de données (aucun mot de passe)
/ / de la boîte de dialogue de la connexion ODBC
/ / restera toujours caché
m_dbCust.Open (FALSE, _T ("MYDATASOURCE »),
 nbsp ;             FAUX, _T ("ODBC ;UID = JOES »),

// ...Ou, d'une requête de l'utilisateur pour tous
/ / les informations de connexion
m_dbCust.Open (&NULL)

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

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

Index