SQLNCLI已弃用,但这仅适用于SQLNCLI OLEDB,还是也适用于SQLNC LI ODBC



我们有一个用C(而不是C++(编写的应用程序,它使用sqlncli.h,特别是ODBC实现,而不是OLEDB。根据微软

SQL Server Native Client(SQLNCLI(仍然不推荐使用,不建议在新的开发工作中使用它。相反,请使用新的Microsoft OLE DB Driver for SQL Server(MSOLEDBSQL(,该驱动程序将使用最新的服务器功能进行更新。

此引用链接到MSOLEDBSQL文章,该文章解释了如何使用MSOLEDBSSQL构建应用程序,指出您应该:

  1. 若要在现有应用程序中使用新的用于SQL Server的Microsoft OLE DB驱动程序,您应该计划将连接字符串从SQLOLEDB或SQLNCLI转换为MSOLEDBSQL。

  1. 使用新标题(链接到的文章在这里(

就这么简单,对吧?不是这样,因为我们已经尝试按照这些说明来实现新的头(msoledbsql.h(,而且它似乎不支持旧的数据类型,例如sqlncli.h中的DBINT。所以,我认为在这一点上,弃用声明可能与ODBC无关。以及评论

因此,在这个新版本的中保持了与当前使用SNAC11的应用程序的向后兼容性

此处仅适用于OLEDB

我的问题是,如果您使用的是SQLNCLIODBC(而不是SQLNCLIOLEDB(,那么它实际上似乎并没有被弃用。这是正确的吗?例如,此处存在OLEDB的弃用警告,但此处不存在ODBC页面的弃用警告。

提前感谢您的帮助。

如果您使用的是SQLNCLI ODBC(而不是SQLNCLI OLEDB(,那么似乎实际上并没有被弃用

它已被弃用,但仍支持某些版本。当SQLNCLI中的SQL Server OleDB提供程序被弃用时,ODBC驱动程序的打包发生了更改,代码被移植到SQL Server的ODBC驱动程序。

OleDb提供程序后来不再被弃用,并生成了一个新的提供程序。但那是另一回事。

因此,从本质上讲,使用SNAC ODBC,您只需要使用旧版本的ODBC驱动程序,并且应该在某个时候升级到新版本。

相关内容

  • 没有找到相关文章