共用方式為


資料來源:管理連接 (ODBC)

本主題適用於 MFC ODBC 類別。

本主題將說明:

連接到數據來源表示建立與 DBMS 的通訊以存取數據。 當您透過 ODBC 驅動程式從應用程式連線到數據源時,驅動程式會在本機或透過網路為您建立連線。

您可以連線到您擁有 ODBC 驅動程式的任何資料來源。 您應用程式的使用者也必須為其數據源具有相同的 ODBC 驅動程式。 如需重新發佈 ODBC 驅動程式的詳細資訊,請參閱 將 ODBC 元件轉散發給您的客戶

設定數據源

ODBC 系統管理員可用來設定數據源。 您也可以在安裝之後使用 ODBC 系統管理員來新增或移除數據源。 當您建立應用程式時,您可以將用戶導向 ODBC 系統管理員,讓他們新增數據源,或者您可以透過直接的 ODBC 安裝呼叫,在應用程式中建置這項功能。 如需詳細資訊,請參閱 ODBC 系統管理員

您可以使用 Excel 檔案做為數據源,而且您必須設定檔案,使其註冊並出現在 [ 選取數據源 ] 對話方塊中。

使用 Excel 檔案作為數據源

  1. 使用 ODBC 數據源管理員設定檔案。

  2. 在 [ 檔案 DSN] 索引標籤上 ,按兩下 [ 新增]。

  3. 在 [ 建立新的數據源] 對話框中,選取 Excel 驅動程式,然後按 [ 下一步]。

  4. 按兩下 [ 瀏覽],然後選取要當做日期來源使用的檔名。

注意

您可能需要選取 下拉功能表中的所有檔案 ,才能檢視.xls檔案。

  1. 按 [下一步],然後按一下 [完成]

  2. 在 [ ODBC Microsoft Excel 安裝程式 ] 對話框中,選取資料庫 [版本] 和 [活頁簿]。

在多用戶環境中工作

如果多個用戶連線到數據源,則在記錄集中操作數據時,他們可以變更數據。 同樣地,您的變更可能會影響其他用戶的記錄集。 如需詳細資訊,請參閱 記錄集:記錄集如何更新記錄 (ODBC)交易 (ODBC)

將連接字串一般化

精靈會使用預設 連接字串 來建立數據源的連線。 當您開發應用程式時,您可以使用此連線來檢視資料表和資料行。 不過,此預設 連接字串 可能不適合使用者透過應用程式連線至數據源。 例如,其數據源及其位置的路徑可能與開發應用程式時所使用的路徑不同。 在此情況下,您應該以更一般的方式重新實 作 CRecordset::GetDefaultConnect 成員函式,並捨棄精靈實作。 例如,使用下列其中一種方法:

  • 使用 ODBC 系統管理員註冊和管理 連接字串。

  • 編輯 連接字串 並移除資料來源名稱。 架構提供 ODBC 做為數據源;在運行時間,ODBC 會顯示一個對話方塊,要求數據來源名稱和任何其他必要的連接資訊。

  • 僅提供數據來源名稱。 如有需要,ODBC 會要求使用者標識碼和密碼。 例如,在一般化之前,連接字串 如下所示:

    CString CApp1Set::GetDefaultConnect()
    {
       return "ODBC;DSN=afx;Trusted_Connection=Yes;";
    }
    

    此 連接字串 會指定使用 Windows NT 整合式安全性的信任連線。 您應該避免將密碼硬式編碼或指定空白密碼,因為這樣做會造成重大的安全性弱點。 相反地,您可以提供GetDefaultConnect新的 連接字串,讓它查詢使用者標識碼和密碼。

    // User must select data source and supply user ID and password:
        return "ODBC;";
    // User ID and password required:
        return "ODBC;DSN=mydb;";
    // Password required (myuserid must be replaced with a valid user ID):
        return "ODBC;DSN=mydb;UID=myuserid;";
    // Hard-coded user ID and password (SECURITY WEAKNESS--AVOID):
        return "ODBC;DSN=mydb;UID=sa;PWD=777;";
    

連接到特定數據源

若要連線到特定數據源,您的數據源必須已經設定為 ODBC 系統管理員

線上到特定數據源

  1. CDatabase建構物件。

  2. 呼叫其 OpenExOpen 成員函式。

如需有關如何指定數據源的詳細資訊,如果不是您使用精靈指定的數據源,請參閱 MFC 參考中的 CDatabase::OpenExCDatabase::Open

從資料來源中斷連接

您必須先關閉任何開啟的記錄集, Close 才能呼叫 的成員 CDatabase函式。 在與 CDatabase 您要關閉之對象相關聯的記錄集中,會取消任何暫止 AddNewEdit 語句,並回復所有暫止的交易。

中斷與數據源的連線

  1. CDatabase呼叫物件的 Close 成員函式。

  2. 除非您想要重複使用對象,否則會終結物件。

重複使用 CDatabase 物件

您可以在中斷連接對象之後重複使用 CDatabase 物件,不論您是使用它重新連線至相同的數據源,還是聯機到不同的數據源。

重複使用 CDatabase 物件

  1. 關閉物件的原始連接。

  2. 不要終結 物件,而是再次呼叫其 OpenExOpen 成員函式。

另請參閱

資料來源 (ODBC)
資料來源:決定資料來源的結構描述 (ODBC)
CRecordset 類別