我的问题来自此处:Unrecognized database format to other PC
在上面的链接中,我一直在努力解决为什么我的数据库应用程序无法与其他PC一起工作,因为我制作的第一个应用程序工作正常。
现在,我已将其缩小到问题是数据库本身的程度
我正在使用Access 2010编译为Access 2007格式的32位Win7操作系统进行开发
所以,我在这里使用了Gord Thompson的代码Automatically renumber records in an Access table after data changes have been made(宏,当我添加它时,这就是问题开始的地方)
当然它在我的电脑上工作..但是它在其他电脑上出现了一个关于线程的错误。我安装了访问数据库引擎时发生了变化。现在错误是Microsoft 12.0 Provider blah blah..
所以我错过了一个司机?我试过..
注意( Build Config x64 )
64bit~第一个,(这台电脑没有安装,但工作)安装后,它已经在64位电脑上工作..
64bit~下一个,我
强制安装第三台引擎到64位PC,因为它的MS办公室
使用thison cmd $> AccessDatabaseEngine_X64.exe /passive
是32位。
现在它正在开发第二台64位PC。
64bit~在第三个,无论我做什么。它不起作用。仍然 无法识别,然后12.0驱动程序丢失,即使我安装了4 数据库引擎的类型两次。虽然力量安装没有 在那个特定的PC上工作,我想知道为什么。
更新
AccessDatabaseEngine.exe
- 2007后,仍然相同
结果我应该怎样做才能让我的申请被任何电脑接受?
- 制作32位和64位版本
- 使用AnyCpu / x64 / x86构建
是的我已经做到了,但两个都没有在最后一台电脑上工作。
有什么建议吗?我可以重新制作我的应用程序,我的数据库,只要它适用于其他电脑就可以了,但我只是字面意思,没什么新东西。
答案 0 :(得分:1)
就个人而言,当访问数据库引擎的第二个" N-bit" 版本时,我不会花费大量时间来解决不一致的行为问题。 #34; ACE")通过/passive
开关强制安装。我们必须假设ACE开发团队有理由以这样的方式编写安装程序:正常行为是阻止同一台计算机上存在的32位和64位版本的ACE
至于部署你的应用程序,以便它可以在"任何"机器,你必须首先接受
的要求解决第2点的一种可能方法是构建两个版本的应用程序,一个针对仅 32位,另一个针对 64位。 32位版本将是用户实际启动的版本(即,在Windows"程序"列表中为其创建快捷方式的版本)。然后它可以做这样的事情:
答案 1 :(得分:0)
在Build,Configuration Manager,Active Solution Platform下将编译选项设置为AnyCPU。
如果您使用的是Express版本,请参阅此post