【发布时间】:2020-08-18 21:27:31
【问题描述】:
我们有一个用 C(不是 c++)编写的应用程序,它使用 sqlncli.h,特别是 ODBC 实现而不是 OLEDB。 According to Microsoft
SQL Server Native Client (SQLNCLI) 仍然被弃用,不建议将其用于新的开发工作。相反,请使用新的 Microsoft OLE DB Driver for SQL Server (MSOLEDBSQL),它将使用最新的服务器功能进行更新。
此引用链接到 MSOLEDBSQL article,它解释了如何使用 MSOLEDBSQL 构建应用程序,表明您应该:
-
要在现有应用程序中使用新的 Microsoft OLE DB Driver for SQL Server,您应该计划将连接字符串从 SQLOLEDB 或 SQLNCLI 转换为 MSOLEDBSQL。
和
- 使用新的标题(链接到的文章是here)
就这么简单,对吧?不是真的,因为我们已经尝试按照这些说明实现新的标头 (msoledbsql.h),但它似乎不支持旧数据类型,例如来自 sqlncli.h 的 DBINT。所以,我现在在想,弃用公告可能与 ODBC 无关。还有评论
因此,在此新版本中保持与当前使用 SNAC 11 的应用程序的向后兼容性
found here 仅适用于 OLEDB
我的问题是,如果您使用的是 SQLNCLI ODBC(而不是 SQLNCLI OLEDB),那么它似乎实际上并没有被弃用。那是对的吗?例如,OLEDB here 存在弃用警告,但 ODBC 页面 here 不存在。
提前感谢您的帮助。
【问题讨论】:
标签: sql-server odbc sqlncli