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