Microsoft Windows NT 作為強健的 32 位元作業系統,是開發高效能 SQL Server 應用程式的理想平台。本文旨在引導熟悉 DB-Library 的開發人員,將既有 16 位元(Windows 3.x、OS/2)應用程式移植至 Win32 平台,並說明如何善用 Win32 API 特性。
閱讀本文假設您已熟悉:
Win32 DB-Library DLL (NTWDBLIB.DLL) 內部架構類似 OS/2 版本:每個資料庫連接由獨立的作業系統執行緒處理。每個載入 DB-Library DLL 的進程擁有私有資料區,程式碼則共享。
Windows 3.x 版 W3DBLIB.DLL 僅有一個共享資料段,透過鏈結串列管理所有進程的連接,需呼叫 dbinit、dbwinexit 初始化/清除。Win32 移除此限制,每進程獨立資料區,無需全域初始化。
| 檔案 | 用途 | 環境變數 |
|---|---|---|
| NTWDBLIB.DLL | DB-Library 核心函式庫 | PATH 需包含其目錄 |
| DBNMPNTW.DLL | Named Pipes 網路庫 | PATH 需包含其目錄 |
| NTWDBLIB.LIB | 匯入庫(連結時使用) | LIB 需包含其目錄 |
NTWDBLIB.LIB,確保標頭檔路徑正確。dberrhandle 設定全域錯誤處理常式。移植至 Win32 平台不僅獲得 32 位元記憶體空間與預emptive 多工優勢,更能整合 Win32 豐富的同步、I/O 完成通訊埠、安全性等進階功能,構建高擴充性的 SQL Server 用戶端應用程式。