与SQL Server的Microsoft OLE DB驱动程序(MSOLEDBSQL)不兼容的ATL OLE DB使用者模板吗?

时间:2019-10-18 13:25:03

标签: c++ sql-server mfc oledb atl

我的应用程序使用ATL OLE DB使用者模板,但是我希望将OLE DB驱动程序升级到“用于SQL Server的Microsoft OLE DB驱动程序”(版本18.2或18.3),并且我已经下载了驱动程序,进行了安装,并在我将应用程序中的连接字符串连接到“ Provider = MSOLEDBSQL”,运行该应用程序仅在atldbsch.h文件的调试器中查看,因为当逐行将其链接到oledb32.dll和sqloledb时,代码到达了该位置.dll,而不是在System32目录中安装的新msoledbsql.dll。

我无法使用新的OLE DB驱动程序;我需要做些什么使其链接到新的DLL?是应用程序使用ATL OLE DB使用者模板来说明这一点吗?

我正在尝试连接到我想使用DATETIME2数据类型的SQL Server 2012数据库,但是在我的C ++代码中,我得到了一个映射回WSTR的数据类型130-varchar(27)而不是DB_DATETIME(数据类型135)。如果代码成功使用了“ Microsoft OLE DB Driver for SQL”的18.2或18.3版本,则不会发生这种情况。

1 个答案:

答案 0 :(得分:0)

好的,我本人可能已经解决了,但是我尝试了很多方法来使其正常工作,所以我不确定自己做了什么。但是,我怀疑我在stdafx.h文件中将“ msoledbsql.h”的包含项移到了尽可能低的位置,以便尽可能晚地包含它,以防其中的任何其他包含文件包含任何其他旧的oledb文件

不知道这对任何人都没有帮助,但似乎对我有用。

相关问题