主要版本差异

加密属性更改

在 Microsoft OLE DB Driver 19 for SQL Server 中,对加密属性/连接字符串关键字进行了大量更改。

首先,驱动程序属性 SSPROP_INIT_ENCRYPTVT_BOOL 更改为 VT_BSTR。 此属性的有效值为 no/yes/true/false/Optional/Mandatory/Strict。 提供程序连接字符串关键字 Encrypt 的有效值由 no/yes 更改为 no/yes/true/false/Optional/Mandatory/Strict。 同样,对于 IDataInitialize 连接字符串关键字 Use Encryption for Data,有效值从 true/false 更改为 no/yes/true/false/Optional/Mandatory/StrictOptional 值与旧的 no/false 值同义,值 Mandatory 与旧的 yes/true 值同义。 Strict 是 19.0.0 版 OLE DB Driver for SQL Server 中新增的值,除了与服务器的所有其他通信外,还用于加密 PRELOGIN 数据包。 Strict 加密仅在支持 TDS 8.0 的 SQL Server 终结点上受支持,否则驱动程序将无法连接。 OLE DB Driver 19 for SQL Server 继续支持所有旧关键字值,以确保向后兼容性。

其次,默认值由 no/false 更改为 Mandatory。 此更改意味着在默认情况下连接已加密。 以前,当服务器端属性 Force Encryption 设置为 yes 时,如果由用户显式设置和/或由 SQL Server 授权,驱动程序将加密连接。 若要使用旧的默认行为,请将 Encrypt=Optional; 包括在提供程序连接字符串中,或者将 Use Encryption for Data=Optional; 包含在 IDataInitialize 连接字符串中。

驱动程序名称更改

新的 Microsoft OLE DB Driver 19 for SQL Server 支持与较旧的 Microsoft OLE DB Driver for SQL Server 并行安装。 为了区分驱动程序,名称已更改为包含主版本号。 若要在应用程序中使用新驱动程序,用户必须指定新的驱动程序名称。 新的驱动程序名称以及相应的 CLSID 在必须包含在项目中的更新后的 msoledbsql.h 标头中进行指定。 通过 IDBInitialize 接口的连接无需进一步更改,因为 MSOLEDBSQL_CLSID 将指定 OLE DB Driver 19 for SQL Server 的 CLSID。 通过 IDataInitialize 接口的连接必须将 Provider 关键字的值替换为 MSOLEDBSQL19,以使用 Microsoft OLE DB Driver 19 for SQL Server。 在图形用户界面(例如 SSMS 中的数据链接属性或链接服务器设置)中,必须从已安装的提供程序列表中选择“Microsoft OLE DB Driver 19 for SQL Server”。

另请参阅

适用于 SQL Server 的 OLE DB 驱动程序
结合使用连接字符串关键字与 OLE DB 驱动程序
加密和证书验证
通用数据链接 (UDL) 配置
“SQL Server 登录”对话框 (OLE DB)
初始化和授权属性(OLE DB 驱动程序)
注册表设置