Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ ATL OLE DB使用者模板与Microsoft OLE DB SQL Server驱动程序(MSOLEDBSQL)不兼容?_C++_Sql Server_Mfc_Oledb_Atl - Fatal编程技术网

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

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

我的应用程序使用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使用者模板来说明这一点


我试图连接到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文件的情况下尽可能晚地包含它

不知道这是否对任何人有帮助,但似乎对我有帮助