Winforms Crystal Report - “无法加载数据库信息”错误

时间:2012-11-13 07:08:21

标签: .net visual-studio-2010 ms-access 64-bit crystal-reports-2010

我开发了一个小型水晶报告win表单应用程序,它连接到本地网络中的Access DB并显示一组基本报告。

我使用了VS 2010。

我使用'DAO'连接方法访问VS 2010数据库专家选项中的数据库(是的,它全部在GUI中完成)。它在我的32位开发机器和我测试它的Win XP VM机器上都很好用。

但是,我在Win 7 64位PC上设置报告,我收到此错误。 Error screen shot

这些是我在64位Win 7 PC上进行的安装:

  • 适用于.NET Fx 4(64位)的SAP Crystal Reports运行时引擎
  • .NET Framework 4客户端配置文件(x86& x64)

到目前为止我所读到的是64位CR运行时引擎是随dll(crdb_dao.dll)一起提供的,它是32位版本。

任何建议......任何解决方法?

感谢您的帮助: - )!

2 个答案:

答案 0 :(得分:4)

关于位数

使用Access数据库,您必须小心应用程序的位数:

  • .mdb文件没有标准的64位驱动程序(Windows中默认有32位驱动程序)。

  • 为了能够从64位应用程序访问.mdb.accdb数据库,您必须拥有MSOffice 64位或Access 64位或64位Access Database Engine驱动程序。
    如果在该计算机上安装了MSOffice或Access 2007/2010/2013 32位,则无法安装64位驱动程序,也无法混合使用32位和64位Office组件。

解决您的问题

  • 如果您正在使用.mdb访问文件,只需显式编译32位(而不是AnyCPU,因为它会尝试在64位操作系统中将您的应用程序启动为64位)。

  • 如果您使用.accdb访问文件,请匹配用户计算机上安装的Office / Access的位数,或者,如果Office不存在,请安装Access Database Engine驱动程序。

  • 在任何情况下,如果您的应用程序要部署在混合的32/64位环境中,则需要为每个环境明确编译并根据Access Database Engine的位数安装正确的版本或MSOffice安装在用户的计算机上。

注意:只是为了澄清,如果用户的计算机上已经安装了MSOffice 2007/2010/2013,则无需安装Access数据库引擎。

答案 1 :(得分:3)

我还必须安装32位的CR Runtime引擎。现在它的工作顺利:-)!

非常感谢:)!