首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

在 Windows NT 上設計 32 位元 SQL Server 應用程式(DB-Library 開發指南)

     編輯:關於SqlServer

前言

Microsoft Windows NT 作為強健的 32 位元作業系統,是開發高效能 SQL Server 應用程式的理想平台。本文旨在引導熟悉 DB-Library 的開發人員,將既有 16 位元(Windows 3.x、OS/2)應用程式移植至 Win32 平台,並說明如何善用 Win32 API 特性。

先備知識

閱讀本文假設您已熟悉:

  • DB-Library for C 程式設計參考
  • Microsoft Win32 API 程式設計參考(第 1、2 卷)
  • OS/2 應用程式移植至 Windows 指南

Win32 DB-Library 架構

執行緒模型

Win32 DB-Library DLL (NTWDBLIB.DLL) 內部架構類似 OS/2 版本:每個資料庫連接由獨立的作業系統執行緒處理。每個載入 DB-Library DLL 的進程擁有私有資料區,程式碼則共享。

與 Windows 3.x 差異

Windows 3.x 版 W3DBLIB.DLL 僅有一個共享資料段,透過鏈結串列管理所有進程的連接,需呼叫 dbinit、dbwinexit 初始化/清除。Win32 移除此限制,每進程獨立資料區,無需全域初始化。

核心程式庫與環境設定

檔案用途環境變數
NTWDBLIB.DLLDB-Library 核心函式庫PATH 需包含其目錄
DBNMPNTW.DLLNamed Pipes 網路庫PATH 需包含其目錄
NTWDBLIB.LIB匯入庫(連結時使用)LIB 需包含其目錄

建立 Win32 DB-Library 應用程式要點

  • 使用標準 Win32 專案設定(主控台或 GUI 皆可)。
  • 連結 NTWDBLIB.LIB,確保標頭檔路徑正確。
  • 連接字串建議使用 Named Pipes 或 TCP/IP Sockets。
  • 善用 Win32 執行緒同步物件(Critical Section、Event)處理多執行緒資料庫存取。
  • 錯誤處理:檢查每個 DB-Library 函式回傳值,並使用 dberrhandle 設定全域錯誤處理常式。

結語

移植至 Win32 平台不僅獲得 32 位元記憶體空間與預emptive 多工優勢,更能整合 Win32 豐富的同步、I/O 完成通訊埠、安全性等進階功能,構建高擴充性的 SQL Server 用戶端應用程式。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved