分享方式:


搭配使用 16 位元應用程式與 32 位元驅動程式

重要

Windows 的未來版本將移除此功能。 請避免在新的開發工作中使用這項功能,並規劃修改目前使用這項功能的應用程式。 請改用 32 位或 64 位驅動程式管理員。

只要 32 位驅動程式未明確呼叫建立線程的 Win32 API 函式,您就可以在 Windows 系統上執行具有 32 位驅動程式的 16 位應用程式。 Windows 上的 Windows (WOW) 子系統會以 16 位模式執行應用程式,並解析作業系統的 16 位呼叫。 ODBC Thunking DLL 會將16位呼叫從應用程式解析為32位驅動程式。 16 位應用程式會使用 Windows API,而 32 位驅動程式則使用 Win32 API。

架構

下圖顯示16位應用程式如何與32位驅動程序通訊。 在 16 位驅動程式管理員與 32 位驅動程式之間,是將 16 位 ODBC 呼叫轉換成 32 位 ODBC 呼叫的泛型 Thunking DLL。

16 位應用程式如何與 32 位驅動程式 通訊

注意

每當 16 位應用程式與 32 位驅動程式互動時,32 位驅動程式管理員一律會傳回 “2.0” 作為驅動程序支援的 ODBC 版本。

系統管理

您可以使用 ODBC 資料來源管理員,來管理 32 位元驅動程式的資料來源。 若要在執行 Microsoft Windows 2000 的電腦上開啟 ODBC 系統管理員,請開啟 Windows 控制台,按兩下 [系統管理工具],然後按兩下 [資料源] (ODBC) 。 在執行舊版 Microsoft Windows 的電腦上,圖示的名稱為 32-bit ODBC,或單純名為 ODBC

下圖顯示16位應用程式如何呼叫32位驅動程式設定 DLL。 在 16 位安裝程式 DLL 與 32 位驅動程式安裝程式 DLL 之間,是一般 Thunking DLL,可將 16 位安裝程式 DLL 呼叫轉換成 32 位安裝程式 DLL 呼叫。

16 位應用程式如何呼叫 32 位驅動程式設定 DLL

在 Windows 上的 Windows (16 位到 32 位 Thunking) 中,名為 Ds32gt.dll 的其他 Thunking DLL 會將 16 位的自變數值轉換為 32 位安裝程式 DLL 傳回 16 位。

單元

MDAC 2.8 SP1 SDK 的 ODBC 元件包含下列檔案,可用於執行具有 32 位驅動程式的 16 位應用程式。 這些元件位於 \Redist 目錄。

檔案名稱 描述
Odbc16gt.dll 16 位 ODBC 泛型 Thunking DLL
Odbc32gt.dll 32 位 ODBC 泛型 Thunking DLL
Odbccp32.dll 32 位安裝程式 DLL
Odbcad32.exe 32 位系統管理員程式
Odbcinst.hlp 安裝程式說明檔案
Ds16gt.dll 16 位驅動程序設定一般 Thunking DLL
Ctl3d32.dll 32 位三維窗口樣式庫

此外,下列檔案以及16位ODBC 2.10驅動程式管理員不是ODBC 3.51的一部分,是必要檔案,且應該與16位應用程式一起安裝。

檔案名稱 描述
Odbc.dll 16 位驅動程式管理員
Odbcinst.dll 16 位安裝程式 DLL
Odbcadm.exe 16 位 ODBC 系統管理員程式