何时使用 SQL Server Native Client
适用于:SQL Server Azure SQL 数据库 Azure SQL 托管实例 Azure Synapse Analytics Analytics Platform System (PDW)
重要
SQL Server Native Client (SNAC) 未随附:
- SQL Server 2022 (16.x) 及更高版本
- SQL Server Management Studio 19 及更高版本
不建议在新应用开发中使用 SQL Server Native Client(SQLNCLI 或 SQLNCLI11)和旧版 Microsoft OLE DB Provider for SQL Server (SQLOLEDB)。
对于新项目,请使用以下驱动程序之一:
对于作为 SQL Server 数据库引擎组件(版本 2012 到 2019)随附的 SQLNCLI,请参阅此支持生命周期特例。
SQL Server Native Client 是一种可用于访问 SQL Server 数据库中数据的技术。 有关不同数据访问技术的讨论,请参阅数据访问技术路线图
在决定是否使用 SQL Server Native Client 作为应用程序的数据访问技术时,应考虑多种因素。
对于新的应用程序,如果使用的是托管编程语言,如 Microsoft Visual C# 或 Visual Basic,且需要使用 SQL Server 中的新功能,那么应当使用用于 SQL Server 的 .NET Framework 数据访问接口,该接口是用于 .NET Framework 的一部分。
如果要开发基于 COM 的应用程序,并且需要访问 SQL Server 中引入的新功能,则应使用 SQL Server Native Client。 如果不需要使用 SQL Server 的新功能,则可以继续使用 Windows 数据访问组件 (WDAC)。
对于现有的 OLE DB 和 ODBC 应用程序,主要问题是是否需要访问 SQL Server 的新功能。 如果已有不需要使用 SQL Server 的新功能的成熟应用程序,那么可以继续使用 WDAC。 但是,如果需要访问这些新功能(如 xml 数据类型),则应使用 SQL Server Native Client。
SQL Server Native Client 和 MDAC 都支持使用行版本控制进行读取提交的事务隔离,但只有 SQL Server Native Client 支持快照事务隔离。 (从编程的角度而言,具有行版本控制的已提交读事务隔离等同于已提交读事务。)
有关 SQL Server Native Client 与 MDAC 之间的差异的信息,请参阅 从 MDAC 将应用程序更新到 SQL Server Native Client。