TN048:撰寫 MFC 資料庫應用程式的 ODBC 安裝和管理程式
注意
下列技術提示自其納入線上文件以來,未曾更新。 因此,有些程序和主題可能已過期或不正確。 如需最新資訊,建議您在線上文件索引中搜尋相關的主題。
使用 MFC 資料庫類別的應用程式將需要安裝 ODBC 元件的安裝程式。 它們可能也需要 ODBC 管理員istration 程式,以擷取可用驅動程式的相關資訊、指定預設驅動程式及設定資料來源。 此附注說明如何使用 ODBC 安裝程式 API 來撰寫這些程式。
撰寫 ODBC 安裝程式
MFC 資料庫應用程式需要 ODBC 驅動程式管理員 (ODBC.DLL) 和 ODBC 驅動程式,才能取得資料來源。 許多 ODBC 驅動程式也需要額外的網路和通訊 DLL。 大部分的 ODBC 驅動程式都會隨附安裝程式,以安裝必要的 ODBC 元件。 使用 MFC 資料庫類別的應用程式開發人員可以:
依賴驅動程式特定的安裝程式來安裝 ODBC 元件。 這不需要進一步處理開發人員的部分, 您可以直接轉散發驅動程式的安裝程式。
或者,您可以撰寫自己的安裝程式,以安裝驅動程式管理員和驅動程式。
ODBC 安裝程式 API 可用來撰寫應用程式特定的安裝程式。 安裝程式 API 中的函式是由 ODBC 安裝程式 DLL — 16 位 Windows 上的 ODBCINST.DLL 和 Win32 上的 ODBCCP32.DLL 實作。 應用程式可以在安裝程式 DLL 中呼叫 SQLInstallODBC
,這會安裝 ODBC 驅動程式管理員、ODBC 驅動程式,以及任何必要的翻譯工具。 然後,它會記錄 ODBCINST 中已安裝的驅動程式和翻譯工具。INI 檔案(或 NT 上的登錄)。 SQLInstallODBC
需要 ODBC 的完整路徑。INF 檔案,其中包含要安裝的驅動程式清單,並描述組成每個驅動程式的檔案。 它也包含驅動程式管理員和翻譯工具的類似資訊。 Odbc。INF 檔案通常是由驅動程式開發人員提供。
程式也可以安裝個別的 ODBC 元件。 若要安裝驅動程式管理員,程式會先在安裝程式 DLL 中呼叫 SQLInstallDriverManager
,以取得 Driver Manager 的目標目錄。 這通常是 Windows DLL 所在的目錄。 然後程式會使用 ODBC 之 [ODBC 驅動程式管理員] 區段中的資訊。INF 檔案,將驅動程式管理員和相關檔案從安裝磁碟複製到此目錄。 若要安裝個別驅動程式,程式會先在安裝程式 DLL 中呼叫 SQLInstallDriver
,以將驅動程式規格新增至 ODBCINST。INI 檔案(或 NT 上的登錄)。 SQLInstallDriver
會傳回驅動程式的目標目錄 , 通常是 Windows DLL 所在的目錄。 程式接著會使用 ODBC 驅動程式區段中的資訊。INF 檔案,將驅動程式 DLL 和相關檔案從安裝磁碟複製到此目錄。
如需 ODBC 的詳細資訊。INF、ODBCINST。INI 和使用安裝程式 API,請參閱 ODBC SDK 程式設計人員參考,第 19 章: 安裝 ODBC 軟體。
撰寫 ODBC 管理員istrator
MFC 資料庫應用程式可以使用下列兩種方式之一來設定 ODBC 資料來源:
使用 ODBC 管理員istrator (以程式或主控台專案的形式提供)。
建立您自己的程式來設定資料來源。
設定資料來源的程式會呼叫安裝程式 DLL。 安裝程式 DLL 會呼叫安裝程式 DLL 來設定資料來源。 每個驅動程式都有一個設定 DLL;可能是驅動程式 DLL 本身或個別的 DLL。 如果支援,安裝程式 DLL 會提示使用者輸入驅動程式連線至資料來源和預設翻譯工具所需的資訊。 然後它會呼叫安裝程式 DLL 和 Windows API,以在 ODBC 中記錄這項資訊。INI 檔案(或登錄)。
若要顯示使用者可以在其中新增、修改和刪除資料來源的對話方塊,程式會在安裝程式 DLL 中呼叫 SQLManageDataSources
。 從 主控台呼叫安裝程式 DLL 時,會叫用此函式。 若要新增、修改或刪除資料來源, SQLManageDataSources
請在設定 DLL 中呼叫 ConfigDSN
與該資料來源相關聯的驅動程式。 若要直接新增、修改或刪除資料來源,程式會在安裝程式 DLL 中呼叫 SQLConfigDataSource
。 程式會傳遞資料來源的名稱,以及指定要採取的動作選項。 SQLConfigDataSource
會在安裝程式 DLL 中呼叫 ConfigDSN
,並從 傳遞自 SQLConfigDataSource
變數。
如需詳細資訊,請參閱 ODBC SDK 程式設計人員參考、第 23 章、 安裝程式 DLL 函數參考和第 24 章安裝程式 DLL 函數參考。