SQL Server Native Client

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例Azure Synapse AnalyticsAnalytics Platform System (PDW)

在 SQL Server 2022 (16.x). 以前,SQL Server Native Client(也称为 SNAC 或 SQLNCLI)是指适用于 SQL Server 的 ODBC 和 OLE DB 驱动程序。

重要

已从 SQL Server 2022 (16.x) 和 SQL Server Management Studio 19 (SSMS) 中删除SQL Server Native Client(通常缩写为 SNAC)。 不建议在新应用程序开发工作中使用 SQL Server Native Client(SQLNCLI 或 SQLNCLI11)和旧版 Microsoft OLE DB Provider for SQL Server (SQLOLEDB)。 请在此后切换为使用新版 Microsoft OLE DB Driver (MSOLEDBSQL) for SQL Server 或最新版的 Microsoft OLE DB Driver for SQL Server。 对于作为 SQL Server 数据库引擎组件(版本 2012 到 2019)随附的 SQLNCLI,请参阅此支持生命周期特例

注意

要了解详细信息和下载 SNAC 或 ODBC 驱动程序,请参阅 SNAC 生命周期详解博客文章。 有关 ODBC Driver for SQL Server 的详细信息,请参阅 Microsoft ODBC Driver for SQL Server

有关随 SQL Server 2012 (11.x) 发布的 SQL Server Native Client 功能(SQL Server Native Client 的上一可用版本)的信息:

SQL Server Native Client 中的 ODBC 支持 Windows 7 SDK 中新增的三项标准 ODBC 功能:

  • 异步执行与连接相关的操作。 有关详细信息,请参阅异步执行

  • C 数据类型扩展性。 有关详细信息,请参阅 ODBC 中的 C 数据类型

    要在 SQL Server Native Client 中支持此功能,如果应用程序使用 ODBC 3.8,则 SQLGetDescField 可能返回 SQL_C_SS_TIME2 (适用于 time 类型)或 SQL_C_SS_TIMESTAMPOFFSET (对于 datetimeoffset),而不是 SQL_C_BINARY。 有关详细信息,请参阅 针对 ODBC 日期和时间改进的数据类型支持

  • 用小缓冲区多次调用 SQLGetData 来检索一个大型参数值。 有关详细信息,请参阅 使用 SQLGetData 检索输出参数

以下文章介绍了 SQL Server 2012 (11.x) 中的 SQL Server Native Client 行为更改。

后续步骤