資料存取程式設計 (MFC/ATL)
Visual C++ 多年來提供了數種使用資料庫的方式。 在 2011 年,Microsoft 宣佈其與 Open Database 連線 ivity (ODBC) 一致,作為從機器碼存取 SQL Server 產品的慣用技術。 ODBC 是一種業界標準,使用它可讓您在多個平台和資料來源間自由攜帶程式碼。 大多數的 SQL 資料庫產品和許多 NoSQL 產品都支援 ODBC。 您可以呼叫低階的 ODBC API 直接使用 ODBC,或者可以使用 MFC ODBC 包裝函式類別,或協力廠商的 C++ 包裝函式程式庫。
OLE DB 是以 COM 規格為基礎的低階高效 API,只有 Windows 提供支援。 如果您的程式正在存取連結的伺服器,請使用 OLE DB。 ATL 提供 OLE DB 範本,讓您更容易建立自訂的 OLE DB 提供者和取用者。 您可以在 OLE DB Driver for SQL Server 的檔 中找到最新的 Microsoft SQL Server 提供者。
移植資料應用程式
如果您的舊版應用程式使用 OLE DB 或較高層級的 ADO 介面來連線到 SQL Server,您應該考慮移轉至最新的 OLE DB Driver for SQL Server,以利用最新的 SQL Server 功能。 另一個替代方案是,如果您不需要跨平臺可移植性或最新的 SQL Server 功能,您可以使用 Microsoft OLE DB Provider for ODBC (MSDASQL)。 MSDASQL 讓建置在 OLE DB 和 ADO (在內部使用 OLEDB) 上的應用程式透過 ODBC 驅動程式存取資料來源。 和所有的轉譯層一樣,MSDASQL 會影響資料庫效能。 您應該測試以判斷此影響對您的應用程式是否過大。 MSDASQL 隨附於 Windows 作業系統,而 Windows Server 2008 和 Windows Vista SP1 是第一批包含此技術 64 位元版本的 Windows 版本。
如果您的 C++ 應用程式透過 ODBC 連線到 SQL Server 或 Azure SQL 資料庫,它應該使用最新的 ODBC 驅動程式。
如果您使用 C++/CLI,就可以繼續像平常一樣使用 ADO.NET。 如需詳細資訊,請參閱使用 ADO.NET 存取資料 (C++/CLI) 和存取 Visual Studio 中的資料。
- 除了 ODBC 包裝函式類別,MFC 也提供資料存取物件 (DAO) 包裝函式類別以連接到 Access 資料庫。 不過,DAO 已淘汰。 所有以 CDaoDatabase 或 CDaoRecordset 為基礎的程式碼都應該升級。
如需 Microsoft Windows 資料存取技術記錄的相關資訊,請參閱 Microsoft Data Access Components (Wikipedia) (Microsoft 資料存取元件 (維基百科))。