主要版本差异
加密属性更改
在 Microsoft OLE DB Driver 19 for SQL Server 中,对加密属性/连接字符串关键字进行了大量更改。
首先,驱动程序属性 SSPROP_INIT_ENCRYPT
由 VT_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
/Strict
。 Optional
值与旧的 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 驱动程序)
注册表设置