如何解决不推荐使用SQLNCLI,但这是否仅适用于SQLNCLI OLEDB或SQLNCLI ODBC?
我们有一个用C(不是c ++)编写的应用程序,它使用sqlncli.h,特别是ODBC实现而不是OLEDB。 According to Microsoft
SQL Server本机客户端(SQLNCLI)仍被弃用,不建议将其用于新的开发工作。相反,请使用新的用于SQL Server的Microsoft OLE DB驱动程序(MSOLEDBSQL),它将使用最新的服务器功能进行更新。
此引文链接到MSOLEDBSQL article,它说明了如何使用MSOLEDBSQL构建应用程序,指示您应该:
-
要在现有应用程序中为SQL Server使用新的Microsoft OLE DB驱动程序,您应该计划将连接字符串从SQLOLEDB或SQLNCLI转换为MSOLEDBSQL。
和
- 使用新标题(链接到的文章为here)
就这么简单,对吧?并非如此,因为我们尝试遵循这些说明并实现新的标头(msoledbsql.h),并且它似乎不支持来自sqlncli.h的旧数据类型,例如DBINT。因此,我正在考虑此时弃用声明可能与ODBC不相关。还有评论
因此,在此新版本中保持了与当前使用SNAC 11的应用程序的向后兼容性
found here仅适用于OLEDB
我的问题是,如果您使用的是SQLNCLI ODBC(而不是SQLNCLI OLEDB),则似乎实际上并未弃用。那是对的吗?例如,存在OLEDB here的弃用警告,但不存在ODBC页here的弃用警告。
预先感谢您的帮助。
解决方法
如果您使用的是SQLNCLI ODBC(而不是SQLNCLI OLEDB),则似乎实际上并未弃用
已弃用,但仍支持某些版本。不建议使用SQLNCLI中的SQL Server OleDB提供程序时,ODBC驱动程序的包装已更改,并且代码已移植到ODBC Driver For SQL Server。
OleDb提供程序后来被弃用,并产生了一个新的提供程序。但这是另一个故事。
因此从本质上讲,使用SNAC ODBC时,您使用的是旧版本的ODBC驱动程序,并且应该在某个时候升级到新版本。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。