系统要求、安装和驱动程序文件

下载 ODBC 驱动程序

本文讨论连接到 SQL Server 的 ODBC 驱动程序。

SQL 版本兼容性

兼容性表示在驱动程序发布时,已测试驱动程序与现有 SQL 版本的兼容性。 SQL Server 版本通常尝试保持与现有客户端驱动程序的后向兼容性。 但是,旧的客户端驱动程序可能无法使用 SQL Server 版本中的新功能。

数据库版本 →
↓ 驱动程序版本
Azure SQL 数据库 Azure Synapse Analytics Azure SQL 托管实例 SQL Server 2022 SQL Server 2019 SQL Server 2017 SQL Server 2016 SQL Server 2014 SQL Server 2012 SQL Server 2008 R2 SQL Server 2008 SQL Server 2005
18.4
18.3
18.2
18.1
18.0
17.1
17.9
17.8
17.7
17.6
17.5
17.4
17.3
17.2
17.1
17.0
13.1
13
11

连接字符串详细信息

在连接字符串中指定的驱动程序名称是以下值之一:

  • ODBC Driver 11 for SQL Server
  • ODBC Driver 13 for SQL Server(适用于 13 和 13.1)
  • ODBC Driver 17 for SQL Server
  • ODBC Driver 18 for SQL Server

支持的操作系统

下表显示了 Windows 操作系统版本的驱动程序版本支持:

操作系统 →
↓ 驱动程序版本
Windows Server 2022 Windows Server 2019 Windows Server 2016 Windows Server 2012 R2 Windows Server 2012 Windows Server 2008 R2 Windows 11 Windows 10 Windows 8.1 Windows 7 Windows Vista SP2
18.4
18.3
18.2
18.1
18.0
17.1
17.9
17.8
17.7
17.6
17.5
17.4
17.3
17.2
17.1
17.0
13.1
13
11

安装 Microsoft ODBC Driver for SQL Server

从任一 Windows 的下载运行 msodbcsql.msi 可以安装该驱动程序。

注意

对于安装了 Driver 17.1.0.1 或更低版本的用户,建议先手动将其卸载,然后再安装较新版本的驱动程序。

与 Native Client 并行安装

驱动程序可以与 SQL Server Native Client 并行安装。 主要版本的驱动程序(11、13、17、18)也可以并行安装。

调用 msodbcsql.msi 时,默认仅安装客户端组件。 客户端组件是一些文件,它们支持运行通过驱动程序开发的应用程序。 要安装 SDK 组件,请在命令行中指定 ADDLOCAL=ALL。 下面是一个示例。

msiexec /i msodbcsql.msi ADDLOCAL=ALL

最终用户许可证

如果使用 /passive/qn/qb/qr 选项进行安装,请指定 IACCEPTMSODBCSQLLICENSETERMS=YES 以接受最终用户许可条款。 必须以全大写字母指定此选项。 下面是一个示例。

msiexec /quiet /passive /qn /i msodbcsql.msi IACCEPTMSODBCSQLLICENSETERMS=YES ADDLOCAL=ALL

无提示卸载

下面的示例演示如何执行无提示卸载。

msiexec /quiet /passive /qn /uninstall msodbcsql.msi

指示依赖关系

应用程序使用驱动程序时,该程序应指示它通过安装选项 APPGUID 依赖于驱动程序。 在卸载前,此指示可使驱动程序安装程序报告依赖的应用程序。 要在驱动程序上指定依赖项,请在无提示安装驱动程序时将 APPGUID 命令行参数设置为你的产品代码。 当使用 Microsoft Installer 捆绑应用程序安装程序时,必须创建产品代码。 下面是一个示例。

msiexec /i msodbcsql.msi APPGUID={ <Your dependent application's APPGUID> }

命令行工具:sqlcmd.exe 和 bcp.exe

用于驱动程序的 bcp.exesqlcmd.exe 工具可在适用于 SQL Server 的 Microsoft 命令行实用程序 11适用于 SQL Server 的 Microsoft 命令行实用程序 13适用于 SQL Server 的 Microsoft 命令行实用程序 13.1 上下载。 驱动程序是安装 sqlcmd.exebcp.exe 的必备组件。

bcp.exesqlcmd.exe 安装在 %PROGRAMFILES%\Microsoft SQL Server\Client SDK\ODBC110\Tools 子文件夹中(对于版本 11),以及 130\Tools 中(对于版本 13 和 13.1)。

对于使用 BCP 函数的应用程序,它指定的驱动程序必须来自与编辑应用程序所用的头文件和库一并传输的相同版本。

例如,当你使用 msodbcsql11.libmsodbcsql.h 编译 ODBC 应用程序时,请在连接字符串中使用 DRIVER={ODBC Driver 11 for SQL Server}

Windows 上的 Microsoft ODBC Driver for SQL Server 的组件

Windows 上的 ODBC 驱动程序包含以下组件:

组件 说明
msodbcsql18.dll
msodbcsql17.dll
msodbcsql13.dll
msodbcsql11.dll
包含所有驱动程序功能的动态链接库 (DLL) 文件。 此文件安装在 %SYSTEMROOT%\System32 中。
msodbcdiag18.dll
msodbcdiag17.dll
msodbcdiag13.dll
msodbcdiag11.dll
包含驱动程序的诊断(跟踪)接口的动态链接库 (DLL) 文件。 此文件安装在 %SYSTEMROOT%\System32 中。
msodbcsqlr18.rll
msodbcsqlr17.rll
msodbcsqlr13.rll
msodbcsqlr11.rll
驱动程序库的附带资源文件。 此文件安装在 %SYSTEMROOT%\System32\1033 中。
s13ch_msodbcsql.chm
s11ch_msodbcsql.chm
数据源向导帮助文件,它记录如何为驱动程序创建数据源。 此文件安装在 %SYSTEMROOT%\System32\1033

注意:ODBC Driver 17 及更高版本没有 chm 文件。
msodbcsql.h 头文件,它包含使用驱动程序所需的所有新定义。

注意:无法在同一个程序中引用 msodbcsql.hodbcss.h
ODBC Driver 18 的 msodbcsql.h 安装在 %PROGRAMFILES%\Microsoft SQL Server\Client SDK\ODBC\180\SDK 中。
ODBC Driver 17 的 msodbcsql.h 安装在 %PROGRAMFILES%\Microsoft SQL Server\Client SDK\ODBC\170\SDK 中。
ODBC Driver 13 的 msodbcsql.h 安装在 %PROGRAMFILES%\Microsoft SQL Server\Client SDK\ODBC\130\SDK 中。
ODBC Driver 11 的 msodbcsql.h 安装在 %PROGRAMFILES%\Microsoft SQL Server\Client SDK\ODBC\110\SDK 中。
msodbcsql18.lib
msodbcsql17.lib
msodbcsql13.lib
msodbcsql11.lib
库文件,调用属于驱动程序的 bcp 实用工具函数时需使用此文件 。

注意:如果确实在程序中引用此库文件,请确保它在你的系统路径中,并且在使用该应用程序的用户的系统路径中。
msodbcsql18.lib 安装在 %PROGRAMFILES%\Microsoft SQL Server\Client SDK\ODBC\180\SDK 中。
msodbcsql17.lib 安装在 %PROGRAMFILES%\Microsoft SQL Server\Client SDK\ODBC\170\SDK 中。
msodbcsql13.lib 安装在 %PROGRAMFILES%\Microsoft SQL Server\Client SDK\ODBC\130\SDK 中。
msodbcsql11.lib 安装在 %PROGRAMFILES%\Microsoft SQL Server\Client SDK\ODBC\110\SDK 中。