CDatabase::OpenEx
呼叫此成員函式來初始化新建構的 CDatabase 物件。
virtual BOOL OpenEx(
LPCTSTR lpszConnectString,
DWORD dwOptions = 0
);
參數
lpszConnectString
指定 ODBC 連接字串。 這是由資料來源名稱以及其他選擇性資訊,例如使用者 ID 和密碼。 例如, 「DSN=SQLServer_Source; UID=SA; PWD=abc123」是一種可能的連接字串。 請注意,如果您傳遞的 lpszConnectStringNULL ,資料來源對話方塊會提示使用者選取資料來源。dwOptions
指定下列值的組合的位元遮罩。 預設值為 0,表示資料庫會開啟為與寫入共用, ODBC 資料指標程式庫 DLL 不會載入,,而 ODBC 連接對話方塊會顯示,只有在沒有建立連接的資訊。在類別庫中的這個版本不支援的CDatabase::openExclusive 。 資料來源一定會開啟為共用 (非獨佔)。 目前,因此,如果您指定選項,判斷提示就會失敗。
CDatabase::openReadOnly 開啟資料來源為唯讀。
CDatabase::useCursorLib 載入 ODBC 資料指標程式庫 DLL。 (如果驅動程式支援的話),資料指標程式庫遮罩,有效防止使用動態集的基礎 ODBC 驅動程式的一些功能。 支援的,如果資料指標程式庫載入是靜態快照唯一的游標和順向資料指標。 如果您計劃建立資料錄集物件會直接從 CRecordset ,而不是衍生自,則不應載入資料指標程式庫。
CDatabase::noOdbcDialog 不顯示 ODBC 連接對話方塊中,不論是否提供足夠的連接資訊。
永遠顯示CDatabase::forceOdbcDialog ODBC 連接對話方塊。
傳回值
如果不是零,連接成功地建立;則為 0,如果使用者選擇取消,若對話方塊要求的連接資訊。 在所有其他情況下,架構會擲回例外狀況。
備註
您的資料庫物件時,才可以使用該建構資料錄集物件之前,必須先初始化。
如果您的 OpenEx 呼叫的 lpszConnectString 參數不包含足夠的資訊來產生連接, ODBC 驅動程式會開啟 對話方塊取得使用者的必要的資訊,但是,如果您未設定 CDatabase::noOdbcDialog 或 CDatabase::forceOdbcDialog 在 dwOptions 參數。 當您呼叫 OpenEx時,您的連接字串, lpszConnectString,在 CDatabase 物件私用儲存並呼叫 GetConnect 成員函式可用。
如果需要,您可以在 中開啟 對話方塊中,在您呼叫 OpenEx 從使用者取得資訊,例如密碼,然後加入之前,對您傳遞給 OpenEx之連接字串的資訊。 您也可能想要儲存您傳入的連接字串,因此您可以重複使用它,則下一次在 CDatabase 物件的應用程式呼叫 OpenEx 。
您可以為授權登入時也可以使用連接字串 (每個的多個層級不同的 CDatabase 物件) 或 Express 其他特定資料來源的資訊。 如需連接字串的詳細資訊,請參閱《 ODBC 程式設計人員參考》中的第 6 章。
如果,例如, DBMS 主應用程式無法使用,就可以進行連接嘗試能逾時。 如果連接嘗試失敗, OpenEx 擲回 CDBException。
範例
// 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);
需求
Header: afxdb.h