C++ ATL OLE DB使用者模板与Microsoft OLE DB SQL Server驱动程序(MSOLEDBSQL)不兼容?
我的应用程序使用ATL OLE DB使用者模板,但我希望将OLE DB驱动程序升级为“Microsoft OLE DB Driver for SQL Server”(版本18.2或18.3),我已下载并安装了驱动程序,将应用程序中连接字符串中的提供程序更改为“Provider=MSOLEDBSQL”,运行应用程序时,只需在atldbsch.h文件中的调试器中看到代码在逐行执行时链接到oledb32.dll和sqloledb.dll,而不是安装在System32目录中的新msoledbsql.dll 我无法使用新的OLEDB驱动程序;我需要做什么才能使它链接到新的DLL?应用程序是否使用ATL OLE DB使用者模板来说明这一点C++ ATL OLE DB使用者模板与Microsoft OLE DB SQL Server驱动程序(MSOLEDBSQL)不兼容?,c++,sql-server,mfc,oledb,atl,C++,Sql Server,Mfc,Oledb,Atl,我的应用程序使用ATL OLE DB使用者模板,但我希望将OLE DB驱动程序升级为“Microsoft OLE DB Driver for SQL Server”(版本18.2或18.3),我已下载并安装了驱动程序,将应用程序中连接字符串中的提供程序更改为“Provider=MSOLEDBSQL”,运行应用程序时,只需在atldbsch.h文件中的调试器中看到代码在逐行执行时链接到oledb32.dll和sqloledb.dll,而不是安装在System32目录中的新msoledbsql.dl
我试图连接到SQL Server 2012数据库,在这里我想使用DATEMEM2数据类型,但是在C++代码中,我得到一个数据类型130,它映射到WSTR -VARCHAR(27),而不是一个dByDATECTIME(数据类型135)。如果代码成功地使用了“Microsoft OLE DB Driver for SQL”的18.2或18.3版本,则不应出现这种情况。好的,我可能已经自己解决了它,但我尝试了很多方法来让它工作,所以我不完全确定我做了什么。但是,我怀疑我在stdafx.h文件中尽可能地向下移动了“msoledbsql.h”的include,以便在任何其他include文件包含任何其他旧oledb文件的情况下尽可能晚地包含它 不知道这是否对任何人有帮助,但似乎对我有帮助