SQL Server Compact (SQL CE) 是**進程內 (In-Process)** 輕量級關聯式資料庫引擎,無獨立服務進程,以一組 DLL 載入應用程式記憶體空間運行。適用於桌面應用、行動裝置、離線同步、嵌入式場景。本文以 **SQL Server Compact 3.5** 為例,詳列各 DLL 檔案用途與呼叫關係。
| DLL 檔案 | 核心功能 | 呼叫層級 | 備註 |
| sqlceca35.dll | **用戶端代理 (Client Agent)** | 同步層 | 與伺服器端代理 (IIS/ASP.NET) 通訊,實現 **RDA (Remote Data Access)** 與 **Merge Replication** 合併式複寫同步。 |
| sqlcecompact35.dll | **資料庫修復/壓縮工具** | 維護層 | 提供 CompactDatabase、Repair 等 API,處理資料庫損毀、碎片整理、縮減檔案大小。 |
| sqlceer35EN.dll | **錯誤訊息資源** | 資源層 | 英文 (EN) 當地語系化資源,含錯誤代碼對應訊息字串。其他語言對應不同後綴 (DE, FR, JA, ZH-CHT 等)。 |
| sqlceme35.dll | **Managed 代碼擴展介面** | 互通層 | 為 .NET Compact Framework / .NET Framework 提供原生互通封送,支援 SqlCeEngine、SqlCeResultSet 等進階 Managed API 底層實作。 |
| sqlceoledb35.dll | **OLE DB 提供者** | 資料存取層 | 實作 IRowset, ICommand 等 OLE DB 介面,供傳統 ADO、VB6、C++ OLE DB Consumer 存取。 |
| sqlceqp35.dll | **查詢處理器 (Query Processor)** | 引擎核心 | 解析、最佳化、執行 T-SQL 子集 (SELECT/INSERT/UPDATE/DELETE、JOIN、子查詢、彙總)、查詢計畫快取。 |
| sqlcese35.dll | **儲存引擎 (Storage Engine)** | 引擎核心 | 管理資料頁面、索引 (B-Tree)、交易日誌 (WAL)、鎖定/並行控制、檢查點、恢復機制。核心效能決定因素。 |
| System.Data.SqlServerCe.dll | **ADO.NET Provider (Managed)** | 資料存取層 | 實作 DbConnection, DbCommand, DbDataReader, DbTransaction 等標準介面,.NET CF / .NET Framework 應用主要入口。 |
| System.Data.SqlServerCe.Entity.dll | **Entity Framework 支援** | ORM 層 | 提供 SqlCeProviderServices、SqlCeConnectionFactory,支援 EF 4/5/6 Code First / Database First / Model First。 |