【问题标题】:connecting to access database using MFC CDatabase in VS2012 and windows 8 x64在 VS2012 和 windows 8 x64 中使用 MFC CDatabase 连接访问数据库
【发布时间】:2013-03-01 19:17:56
【问题描述】:

使用 MFC 编程连接 access 数据库,使用安装在 windows 8 x64 上的 Visual Studio 2012 更新 1,以下代码抛出异常,这在 vs2010 和 windows 7 x64 之前没有发生过。 ODBC 管理器有什么变化吗?我应该如何更改连接字符串。

CDatabase db;
db.OpenEx(TEXT("ODBC;Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dsn='';Dbq='d:\\databases\\a.mdb'");

以及异常信息:

'Data source name not found and no default driver specified'

它也不适用于 accdb 文件。

【问题讨论】:

  • 除非是拼写错误,否则您错过了“Microsoft”前面的“M”。
  • 您确定 x64 中的 ODBC 驱动程序与 x86 中的调用相同吗?另外,去掉 Dsn=''。您应该使用 Driver 或 Dsn,但不能同时使用
  • 其实我在这里打错字了(少了 M)。不是原始代码。
  • 几乎所有的连接字符串模板都有 Dsn='' 并且删除它无助于解决问题。

标签: database visual-c++ mfc


【解决方案1】:

cmets 中的 cha 是正确的,因为默认情况下,Windows 8 中仅存在 x64 ODBC 驱动程序,用于在 win32 平台上编译的 MFC 应用程序。必须在 x86 中安装 ODBC 驱动程序。可以从这里下载:http://www.microsoft.com/en-us/download/details.aspx?id=13255

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-29
    • 2015-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-29
    • 1970-01-01
    相关资源
    最近更新 更多