我们有一个用C(而不是c++)编写的应用程序,它使用sqincli.h,特别是ODBC实现,而不是OLEDB。据微软称
Server本机客户端(SQLNCLI)仍然不受欢迎,不建议将其用于新的开发工作。相反,请使用新的Microsoft驱动程序(MSOLEDBSQL),该驱动程序将使用最新的服务器功能进行更新。
此引用指向MSOLEDBSQL文章的链接,该链接解释了如何使用MSOLEDBSQL构建应用程序,指示您应该:
和
就这么简单对吧?不完全是这样,因为我们已经尝试遵循这些指令并实现新的头(msoledbsql.h),并且它似乎不支持较旧的数据类型,比如来自sqIncli.h的DBINT。因此,我认为在这一点上,反对声明可能与ODBC无关。以及评论
因此,在这个新版本中,与当前使用SNAC 11的应用程序保持向后兼容性。
在这里发现的只属于OLEDB
我的问题是,如果您使用的是SQLNCLI (而不是SQLNCLI ),那么它似乎实际上并不受欢迎。对吗?例如,对于OLEDB这里存在弃用警告,但对于ODBC页这里则不存在。
提前谢谢你的帮助。
发布于 2020-08-18 22:07:17
如果您使用的是SQLNCLI (而不是SQLNCLI ),那么这似乎实际上并不是推荐的。
它是不推荐的,但仍然支持某些版本。当取消SQLNCLI中的Server提供程序时,更改了ODBC的打包,并将代码移植到SQL Server的ODBC驱动程序。
OleDb提供者后来不受欢迎,并产生了一个新的提供者。但那是另一个故事。
因此,从本质上说,使用SNAC,您只是在一个旧版本的ODBC驱动程序上,并且您应该在某个时候升级到一个更新的版本。
https://stackoverflow.com/questions/63476865
复制相似问题