CDatabase::OpenEx
Volání funkce tohoto člena inicializovat nově vyrobeny CDatabase objektu.
virtual BOOL OpenEx(
LPCTSTR lpszConnectString,
DWORD dwOptions = 0
);
Parametry
lpszConnectString
Určuje spojovací řetězec ODBC.To zahrnuje název zdroje dat, jakož i další volitelné informace, například ID uživatele a heslo.Například "DSN = SQLServer_Source;UID = SA;PWD = abc123 "je možné připojovací řetězec.Všimněte si, že předáte NULL pro lpszConnectString , dialogové okno zdroje dat vyzve uživatele k výběru zdroje dat.dwOptions
Bitová maska, která určuje kombinace následujících hodnot.Výchozí hodnota je 0, což znamená, že databáze bude otevřena jako sdílený přístup pro zápis, nebude načtena knihovna DLL ODBC kurzor a zobrazí dialogové okno připojení ODBC, pouze pokud není dostatek informací k připojení.CDatabase::openExclusive není podporována v této verzi knihovny tříd.Zdroj dat je vždy otevřít sdílené (nikoli výhradní).V současné době nepravdivých selže, pokud tuto možnost.
CDatabase::openReadOnly otevřít zdroj dat jen pro čtení.
CDatabase::useCursorLib ODBC kurzor knihovnu DLL.Knihovna kurzorů masky některé funkce základní ovladač ODBC účinně brání použití dynamické sady (Pokud je ovladač podporuje).Pouze kurzory podporovány, pokud je načtena Knihovna kurzorů jsou statické snímky a pouze pro předávání ukazatelů.Pokud chcete vytvořit objekt recordset přímo z CRecordset bez z ní vyplývající, neměla načtení knihovny kurzoru.
CDatabase::noOdbcDialog nezobrazovat ODBC dialogovém okně připojení, bez ohledu na to, zda je zadán dostatek informací o připojení.
CDatabase::forceOdbcDialog vždy zobrazit dialogové okno připojení ODBC.
Vrácená hodnota
Nenulová hodnota, pokud je připojení vytvořeno úspěšně; 0, pokud uživatel jinak zrušit, když zobrazí dialogové okno s žádostí o další informace o připojení.Ve všech ostatních případech rámci vyvolá výjimku.
Poznámky
Databázový objekt musí být inicializován před použitím k vytvoření objektu recordset.
Pokud lpszConnectString parametr ve vaší OpenEx volání neobsahuje dostatek informací k připojení, ovladač ODBC otevře dialogové okno získat potřebné informace od uživatele, pokud jste nenastavili CDatabase::noOdbcDialog nebo CDatabase::forceOdbcDialog v dwOptions parametr.Při volání OpenEx , připojovací řetězec lpszConnectString , je uložena v soukromě CDatabase objektu a je k dispozici voláním GetConnect členské funkce.
Pokud chcete, můžete otevřít dialogové okno Vlastní než zavoláte OpenEx k získání informací od uživatele, například hesla a přidejte tyto informace předat do připojovacího řetězce OpenEx .Nebo chcete uložit řetězec připojení předáte, takže jej můžete znovu použít na další čas volání aplikace OpenEx na CDatabase objektu.
Také můžete řetězec připojení více úrovní ověření přihlášení (každý pro jiné CDatabase objektu) nebo vyjádřit jiné informace specifické pro zdroj dat.Další informace o řetězcích připojení naleznete v kapitole 6 ODBC Programmer's Reference.
Je možné, časový limit pokusu o připojení, pokud například není k dispozici hostitelský systém DBMS.Pokud se pokus o připojení nezdaří, OpenEx vyvolá CDBException .
Příklad
// m_dbCust is a CDatabase object embedded in a CDocument class.
// Connect the object to a read-only data source where
// the ODBC connection dialog box will always remain hidden
m_dbCust.OpenEx(_T("DSN=MFC_ODBCTest;UID=JOES"),
CDatabase::openReadOnly | CDatabase::noOdbcDialog);
Požadavky
Záhlaví: afxdb.h