【发布时间】:2020-02-15 12:14:13
【问题描述】:
我的应用程序使用 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。
我无法让它使用新的 OLE DB 驱动程序;我需要做什么才能使其链接到新的 DLL?是应用程序使用 ATL OLE DB 消费者模板这一事实决定了这一点吗?
我正在尝试连接到我想使用 DATETIME2 数据类型的 SQL Server 2012 数据库,但在我的 C++ 代码中,我得到了一个数据类型 130,它映射到 WSTR - varchar(27) 而不是 DB_DATETIME (数据类型 135)。如果代码成功使用 18.2 或 18.3 版本的“Microsoft OLE DB Driver for SQL”,则不会发生这种情况。
【问题讨论】:
标签: c++ sql-server mfc oledb atl